public function publishOnPage(Post $post, $message = null) { $response = new FacebookPostAsPageResponse(); $accessToken = $this->getUserLongAccessToken(); if (!$post->getPublished()) { return $response->setException(new \Exception('flash_batch_facebook_post_not_published')); } if ($accessToken->tokenIsEmpty()) { return $response->setException(new \Exception('flash_batch_facebook_access_token_empty')); } $this->application->setDefaultAccessToken($accessToken->getAccessToken()); try { $getPageAccessToken = $this->application->sendRequest('GET', '/' . $this->pageId, array('fields' => 'access_token'))->getDecodedBody(); $params = array('message' => null !== $message ? $message : '', 'name' => $post->getTitle(), 'caption' => $post->getDescription(), 'link' => $this->router->generate('front_article_view', array('slug' => $post->getSlug()), true)); if (count($post->getImages()) > 0) { $hompage = $this->router->generate('homepage', array(), true); $imgWebPath = $this->assetsHelper->getUrl($post->getPreviewImage()->getWebPath()); $params['picture'] = $hompage . $imgWebPath; } $endPoint = null === $post->getFbId() ? $this->pageId . '/feed' : $post->getFbId(); $postAsPage = $this->application->post('/' . $endPoint, $params, $getPageAccessToken['access_token'])->getDecodedBody(); $response->setId(isset($postAsPage['id']) ? $postAsPage['id'] : $post->getFbId()); } catch (\Exception $e) { return $response->setException($e); } return $response; }
public function get() { $fb = new Fb(['app_id' => Config::getConfig('FacebookAppId'), 'app_secret' => Config::getConfig('FacebookSecret'), 'default_graph_version' => Config::getConfig('FacebookAPIVersion')]); $fields = $this->request->get('facebookFields_text', false, ''); $edge = $this->request->get('facebookEdge_text', false, ''); $response = $fb->sendRequest('GET', '/' . $this->request->get('facebookUserId_text') . $edge, array('fields' => $fields), $this->request->get('facebookAccessToken_text')); $facebookBody = $response->getDecodedBody(); $body = $this->request->body; $body['facebookResponse_text'] = $facebookBody; $this->request->response->body = $body; $this->request->response->code = r_success; }
public static function fb_access_token() { $conf = SiteConfig::current_site_config(); $token = null; // get page token $token = $conf->FacebookPageAccessToken; // if that failed get the user token if (!$token) { $token = $conf->FacebookUserAccessToken; } // if the page and user token are bad then get an app access token if (!$token) { $facebook = new Facebook(array('app_id' => $conf->FacebookAppId, 'app_secret' => $conf->FacebookAppSecret)); $url = '/oauth/access_token' . '?client_id=' . $conf->FacebookAppId . '&client_secret=' . $conf->FacebookAppSecret . '&grant_type=client_credentials'; $res = $facebook->sendRequest('get', $url)->getDecodedBody(); $token = $res['access_token']; } return $token; }
/** * Get profile feed filtered by parameters * * @param string $profileId the facebook profile id * @param array $params * @return mixed * @see https://developers.facebook.com/docs/graph-api/reference/v2.5/post * * @throws Facebook\Exceptions\FacebookSDKException */ public function getFeed($profileId, array $params = []) { return $this->fb->sendRequest('GET', "/{$profileId}/feed", $params)->getGraphEdge(); }
/** * @param string $path * @param string $method * @param array $params * @return \Facebook\FacebookResponse */ private function _access($method, $path, $params) { return $this->_facebook->sendRequest($method, $path, $params); }