Facebook API PHP,获取页面提要

时间:2015-06-14 00:20:03

标签: php facebook facebook-graph-api

我觉得我已经遍布facebook文档以及谷歌搜索的时间,我无法弄清楚这一点。我发现的很多东西都是岁月;在Facebook切换到另一个API版本之前,我对很多事情感到困惑。

我的商家页面似乎已经为他们创建了应用,所以我要做的就是从页面获取Feed。到目前为止,这是我的代码,我只想知道下一步该做什么。

$facebookAPP_ID = 'THERE IS A VALID ID';
$facebookAPP_SECRET = 'THERE IS A VALID SECRET';

require 'facebook/autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;

FacebookSession::setDefaultApplication($facebookAPP_ID, $facebookAPP_SECRET);
$session = FacebookSession::newAppSession($facebookAPP_ID, $facebookAPP_SECRET);

try {
  $session->validate();
} catch (FacebookRequestException $ex) {
  // Session not valid, Graph API returned an exception with the reason.
  echo $ex->getMessage();
} catch (\Exception $ex) {
  // Graph API returned info, but it may mismatch the current app or have expired.
  echo $ex->getMessage();
}

执行$session->getToken()检索很酷的令牌,但我需要数据。

以下代码直接发出错误。 必须使用有效访问令牌来查询有关当前用户的信息。

try {
  $response = (new FacebookRequest($session, 'GET', '/me'))->execute();
  $object = $response->getGraphObject();
  echo $object->getProperty('name');
} catch (FacebookRequestException $ex) {
  echo $ex->getMessage();
} catch (\Exception $ex) {
  echo $ex->getMessage();
}

我已经读过页面没有'/ me',那么获取页面Feed的正确调用是什么?

2 个答案:

答案 0 :(得分:3)

Facebook似乎只是在其文档中悄悄地说这一部分; that you can authenticate using only the ID and Secret,所以这个对cURL的调用正在为我工​​作而不需要上面的任何代码(当然有正确的值)。

'https://graph.facebook.com/'.$facebookPageId.'/posts?&access_token='.$facebookAppId.'|'.$facebookAppSecret;

我可以获得Facebook ID here

答案 1 :(得分:0)

页面Feed的正确API调用为/page-id/feed。您也可以使用/page-id/posts或其他一些端点,您可以在文档中阅读。

这适用于非限制页面的应用访问令牌。如果受年龄或国家限制,则需要页面或用户令牌。