Aka*_*a19 6 android facebook facebook-access-token android-facebook
我使用的是Facebook SDK 4.2.我已经实现了AccessTokenTracker接口,如果更改了令牌,它将正常工作.
我的问题是:如果用户使用publish_permission从Android应用程序发布内容.然后我从我的Facebook帐户中删除该权限.现在在app中,令牌从中返回
AccessToken accessToken = AccessToken.getCurrentAccessToken();
Run Code Online (Sandbox Code Playgroud)
此令牌具有publish_permission,但在Facebook服务器上的权限已更改.从该帐户的Facebook帐户中删除权限后.我再次运行我的应用程序.然后我按下分享按钮,然后我收到错误
{FacebookGraphResponseException:(#200)需要扩展权限:publish_actions httpResponseCode:403,facebookErrorCode:200,facebookErrorType:OAuthException,message:(#200)需要扩展权限:publish_actions}
那么如何检查此令牌是否与Facebook服务器令牌匹配.
我不认为你可以主动“匹配”服务器访问令牌,但你可以使用
GET /debug_token?input_token={input-token}&access_token={access-token}
Run Code Online (Sandbox Code Playgroud)
调用检查当前存储的访问令牌是否包含特定权限,其中
- input_token:您想要获取相关信息的访问令牌
- access_token:您的应用程序访问令牌或来自应用程序开发人员的有效用户访问令牌
生成的 JSON 将包含一个data.scopes包含实际权限的数组。
或者,我认为这更适合您的用例,您也可以使用
GET /me/permissions?access_token={access_token}
Run Code Online (Sandbox Code Playgroud)
触发共享前,先检查权限是否publish_actions还在。此外,还有Deauthorize Callback机制,当用户卸载您的应用程序时会触发该机制:
人们可以通过 Facebook.com 卸载应用程序,而无需与应用程序本身交互。为了帮助应用程序检测何时发生这种情况,我们允许它们提供取消授权回调 URL,每当发生这种情况时都会对该 URL 进行 ping 操作。
看
| 归档时间: |
|
| 查看次数: |
498 次 |
| 最近记录: |