我的应用程序中有一点可以让用户通过Facebook SDK登录。该应用程序请求读取和发布权限。有没有办法在继续之前检查他们是否已接受发布权限?权限为"publish_actions"
。我尝试了Session.getPermissions();
,但只有(basic_info, user_birthday, user_friends)
列出了读取权限。
似乎无法检查用户是否接受了我的发布权限,是否有可能的解决方法?
我需要检查这个的原因是因为用户可以随时从他们的个人资料中撤销权限,所以我不能让他们登录然后撤销权限,否则这将失去要求的目的它
非常感谢一些帮助,谢谢。希望这是可能的,而不是Facebook限制(虽然我可以理解为什么,如果它)。
答案 0 :(得分:4)
根据Facebook SDK v4 +:
获取与当前访问关联的权限列表 令牌,电话:
AccessToken.getCurrentAccessToken().getPermissions();
要获取拒绝权限列表,请致电:
AccessToken.getCurrentAccessToken().getDeclinedPermissions();
答案 1 :(得分:2)
对于您的应用,您可以使用任何有效的用户访问令牌,并调用/ me / permissions,它将返回用户授予您应用的权限列表。
有关更多文档,请参阅https://developers.facebook.com/docs/graph-api/reference/user/permissions/
答案 2 :(得分:2)
我认为检查权限的最佳方式是:
Facebook SDK 4. +:
if (AccessToken.getCurrentAccessToken().getPermissions().contains("publish_actions")) {
//permission exists
}