Android端请求Facebook的publish_actions权限时遇‘Invalid Scopes’错误
解决Facebook
publish_actions权限报错问题 兄弟,你碰到的问题核心很明确——publish_actions这个权限早就被Facebook弃用了。Facebook在几年前就移除了这个通用发布权限,现在完全不再支持它的申请与使用,这就是你看到报错的根本原因。
不同场景的替代方案
根据你想要实现的功能,分两种情况给出解决办法:
1. 分享内容到用户个人主页
如果只是让用户把帖子分享到自己的时间线,根本不需要申请发布权限,直接用Facebook的ShareDialog就能搞定,代码示例:
ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://你的分享链接")) .setQuote("自定义分享文案") .build(); ShareDialog.show(this, content);
这种方式不需要任何特殊权限,用户在分享时会自行确认授权,完全符合Facebook的平台政策。
2. 发布内容到Facebook页面(或批量发布)
如果是需要代表用户发布内容到他们管理的Facebook页面,你需要申请**pages_manage_posts**权限,步骤如下:
- 先让用户登录并获取
pages_show_list权限,拿到他们管理的页面列表 - 获取对应页面的访问令牌(需包含
pages_manage_posts权限) - 用页面令牌调用Graph API完成内容发布
示例代码(登录时请求正确权限):
LoginManager.getInstance().logInWithPublishPermissions(this, Arrays.asList("pages_show_list", "pages_manage_posts"));
重要提醒
所有发布类权限(比如pages_manage_posts)都需要在Facebook开发者后台提交应用审核,审核通过后才能正式面向所有用户使用,不然只有应用的测试用户能正常操作哦。
内容的提问来源于stack exchange,提问作者Aaqib Hussain
相关产品推荐
相关产品推荐

