/** * @param string $operationId * @return string * @throws \Exception */ public function execute($operationId) { $this->newsitem = $this->em->getRepository('CampaignChainOperationLinkedInBundle:NewsItem')->findOneByOperation($operationId); if (!$this->newsitem) { throw new \Exception('No Linkedin news item found for an operation with ID: ' . $operationId); } $activity = $this->newsitem->getOperation()->getActivity(); $connection = $this->client->getConnectionByActivity($activity); $this->message = $connection->getCompanyUpdate($activity, $this->newsitem); $likes = 0; if (isset($response['numLikes'])) { $likes = $response['numLikes']; } $comments = 0; if (isset($response['updateComments']) && isset($response['updateComments']['_total'])) { $comments = $response['updateComments']['_total']; } // Add report data. $facts[self::METRIC_LIKES] = $likes; $facts[self::METRIC_COMMENTS] = $comments; $this->factService->addFacts('activity', self::BUNDLE_NAME, $this->newsitem->getOperation(), $facts); return self::STATUS_OK; }
private function unsetUrl(NewsItemEntity $newsItem) { $newsItem->setLinkUrl(null); $newsItem->setLinkDescription(null); $newsItem->setLinkTitle(null); return $newsItem; }
/** * Get a user update statistics * * @param Activity $activity * @param NewsItem $newsItem * @return array */ public function getUserUpdate(Activity $activity, NewsItem $newsItem) { //LinkedIn API seems broken, re-enable when it works again. //return []; $request = $this->connect->get('people/~/network/updates/key=' . $newsItem->getUpdateKey(), [], ['query' => ['format' => 'json']]); try { return $request->send()->json(); } catch (\Exception $e) { throw new ExternalApiException($e->getMessage(), $e->getCode(), $e); } }