我正在尝试阅读Facebook页面的帖子,使用实际的Facebook SDK 5 for PHP。我创建了一个Facebook应用程序,下载并成功“需要”SDK,但我无法获得运行请求,因为它总是抛出Invalid OAuth access token signature
异常。
到目前为止我的代码:
$fb = new Facebook\Facebook([
'app_id' => $appid,
'app_secret' => $secret,
'default_graph_version' => 'v2.5'
]);
$accesstoken = file_get_contents("https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $appid
. "&client_secret=" . $secret
. "&grant_type=client_credentials" );
//following lines are something I just tried, there have been multiple
//Variantions, none ever worked
$cilent = $fb->getOAuth2Client();
$accessToken = $cilent->getLongLivedAccessToken($accesstoken);
总而言之,我的主要问题是:
如何获取有效的访问令牌?由于我只是想阅读公共数据(页面的提要),我不需要一些特殊的权限,而且我很困惑我需要的访问令牌类型。
我需要在Facebook应用中进行任何设置,或确保启动并运行?
我在网上搜索了一些示例,但我可以找到使用较旧的SDK(如果使用的话),或者展示如何发布数据的示例。
我对这个主题没有太多经验,我会很感激一些解释或一些例子。
[UPDATE]
我可以设法获取这些信息,但需要一些信息来源。
$fb = new Facebook\Facebook([
'app_id' => 'xxx',
'app_secret' => 'xxx',
'default_graph_version' => 'v2.5'
]);
$req = $fb->get(
'/<page-id>/feed?fields=full_picture,message,name,picture,story,posts&limit=20',
$fb->getApp()->getAccessToken());
如果成功,我们所寻找的一切都包含在$res
中。为简单起见,我删除了错误处理。
因为所有内容都是为了阅读公共数据,所以不需要任何访问令牌,但是,使用此解决方案无法检索用户数据,发布或其他内容。
干杯!