我正在尝试使用PHP SDK V4来检索Facebook页面评分'在我的网站页面上。为此,我创建了一个fb应用,并从Graph API Explorer中获得了页面访问令牌。
如this link所述。当我仅访问页面详细信息时,我的代码工作正常
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}'
);
但是,当我尝试按照here -
所述检索该Facebook页面的评级时$request = new FacebookRequest(
$session,
'GET',
'/{page-id}/ratings'
);
我得到以下错误 -
致命错误:未捕获的异常' Facebook \ FacebookPermissionException'带消息'(#210)主题必须是页面。' .......
为什么?请帮助!
答案 0 :(得分:2)
由于您未在API调用中使用页面访问令牌,因此您收到此错误。
获取网页访问权限 -
不是使用Graph API资源管理器中的页面访问令牌,而是从API调用中获取一个。请记住,用户必须使用manage_pages
权限授权该应用。您将在以下呼叫的响应中获取页面访问令牌(demo) -
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}?fields=access_token'
);
PS,如果需要,您还可以获取您撰写从不到期的网页的网页访问令牌。请参阅this answer。
通过电话使用网页访问令牌
要获得评分,您必须使用API /{page-id}/ratings
的页面访问令牌,就像这样 -
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}/ratings?access_token='.$page_access_token //use the page access token obtained from above step here
);
注意:强>
从v2.0起,public_profile
,email
和user_friends
以外的权限需要提交审核才能让您的应用生效;否则你将无法使用它们。只有应用程序的测试人员/管理员/开发人员才能使用这些权限进行测试,直到审核权限为止。
因此,您只需在实际应用之前提交登录审核。 Here are the details for login review