我觉得我已经遍布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的正确调用是什么?
答案 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
或其他一些端点,您可以在文档中阅读。
这适用于非限制页面的应用访问令牌。如果受年龄或国家限制,则需要页面或用户令牌。