我正在尝试使用 PHP SDK V4 在我的网站页面中检索“Facebook 页面评级”。为此,我创建了一个 Facebook 应用程序,并从 Graph API Explorer 获取了页面访问 token 。
如 this link 中所述。当我仅访问页面详细信息时,我的代码工作正常
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}'
);
但是当我尝试检索该 Facebook 页面的评级时,如所述 here -
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}/ratings'
);
我收到以下错误-
Fatal error: Uncaught exception 'Facebook\FacebookPermissionException' with message '(#210) Subject must be a page.'.......
这是为什么呢?请帮忙!
最佳答案
您收到此错误是因为您没有在 API 调用中使用页面访问 token 。
获取页面访问 token -
不要使用 Graph API Explorer 中的页面访问 token ,而是从 API 调用中获取一个。请记住,用户必须向应用授予 manage_pages
权限。您将在以下调用的响应中获得页面访问 token ( demo )-
$request = new FacebookRequest(
$session,
'GET',
'/{page-id}?fields=access_token'
);
PS,如果需要,您还可以获得您创作的页面的页面访问 token ,该 token 永不过期。请参阅this回答。
通过调用使用页面访问 token -
要获取评分,您必须将页面访问 token 与 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
关于php - 无法通过 PHP SDK V4 获取 Facebook 评论。错误: (#210) Subject must be a page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24445242/