调用Facebook Graph API获取主页帖子报(#10)权限错误如何解决?
问题原因
这是Facebook Graph API的标准权限校验错误,你当前使用的应用级访问令牌(由APP ID和APP SECRET拼接生成)没有调用/{page_id}/posts接口的权限,需要满足以下两个条件任意一个:
- 拥有
pages_read_engagement权限,适用于获取你本人作为管理员的主页的内容 - 开通
Page Public Content Access功能,适用于获取第三方公开主页的内容
解决方法
如果你要拉取的是自己管理的主页动态
- 打开Facebook开发者后台你的应用管理页,先给应用添加
pages_read_engagement权限 - 生成绑定该主页的页面访问令牌,替换代码中
access_token的取值即可 - 只要你是目标主页的管理员,不需要提交应用审核,生成令牌后可直接调用接口
如果你要拉取的是第三方公开主页的动态
- 进入Facebook开发者后台你的应用的「应用审核」板块,提交
Page Public Content Access功能的审核申请 - 按照要求提交使用场景说明、功能演示素材,完成平台合规审核
- 审核通过后,你当前使用的应用级访问令牌就可以正常调用该接口拉取公开主页动态
补充代码优化点:可以增加curl请求错误捕获逻辑,避免网络异常时输出内容不符合预期:
// 原curl_exec之后新增错误判断 $response = curl_exec($ch); // 捕获curl层面的请求错误 if (curl_errno($ch)) { die('Curl请求出错:' . curl_error($ch)); } $response = json_decode($response, true);
内容的提问来源于stack exchange,提问作者Trombone0904
相关产品推荐
相关产品推荐

