Facebook 的访问令牌被用户更改,如何获得访问令牌的回调?
Access Token of Facebook changed by user, How to get call back for Access Token?
我正在使用 Facebook SDK 4.2。我已经实现了 AccessTokenTracker 接口,如果更改了令牌,它就可以工作。
我的问题是:如果用户从 Android 应用中获得 publish_permission 的 post 东西。然后我从我的 Facebook 帐户中删除该权限。现在在应用程序中,令牌 return 来自
AccessToken accessToken = AccessToken.getCurrentAccessToken();
此令牌有 publish_permission,但在 Facebook 服务器上的权限已更改。
从该应用程序的 Facebook 帐户删除权限后。我再次 运行 我的应用程序。然后我按下分享按钮,然后我得到了错误
{FacebookGraphResponseException: (#200) Requires extended permission: publish_actions httpResponseCode: 403, facebookErrorCode: 200, facebookErrorType: OAuthException, message: (#200) Requires extended permission: publish_actions}
那么如何检查此令牌是否与 Facebook 服务器令牌匹配。
我认为您不能主动 "match" 服务器访问令牌,但您可以使用
GET /debug_token?input_token={input-token}&access_token={access-token}
调用检查当前存储的访问令牌是否包含特定权限,其中
- input_token: the access token you want to get information about
- access_token: your app access token or a valid user access token from a developer of the app
生成的 JSON 将包含一个包含实际权限的 data.scopes
数组。
或者,我认为这更适合您的用例,您也可以使用
GET /me/permissions?access_token={access_token}
在触发分享前,检查publish_actions
权限是否还在。此外,还有 取消授权回调 机制,当用户卸载您的应用程序时会触发该机制:
People are able to uninstall apps via Facebook.com without interacting with the app itself. To help apps detect when this has happened, we allow them to provide a de-authorize callback URL which will be pinged whenever this occurs.
见
我正在使用 Facebook SDK 4.2。我已经实现了 AccessTokenTracker 接口,如果更改了令牌,它就可以工作。
我的问题是:如果用户从 Android 应用中获得 publish_permission 的 post 东西。然后我从我的 Facebook 帐户中删除该权限。现在在应用程序中,令牌 return 来自
AccessToken accessToken = AccessToken.getCurrentAccessToken();
此令牌有 publish_permission,但在 Facebook 服务器上的权限已更改。 从该应用程序的 Facebook 帐户删除权限后。我再次 运行 我的应用程序。然后我按下分享按钮,然后我得到了错误
{FacebookGraphResponseException: (#200) Requires extended permission: publish_actions httpResponseCode: 403, facebookErrorCode: 200, facebookErrorType: OAuthException, message: (#200) Requires extended permission: publish_actions}
那么如何检查此令牌是否与 Facebook 服务器令牌匹配。
我认为您不能主动 "match" 服务器访问令牌,但您可以使用
GET /debug_token?input_token={input-token}&access_token={access-token}
调用检查当前存储的访问令牌是否包含特定权限,其中
- input_token: the access token you want to get information about
- access_token: your app access token or a valid user access token from a developer of the app
生成的 JSON 将包含一个包含实际权限的 data.scopes
数组。
或者,我认为这更适合您的用例,您也可以使用
GET /me/permissions?access_token={access_token}
在触发分享前,检查publish_actions
权限是否还在。此外,还有 取消授权回调 机制,当用户卸载您的应用程序时会触发该机制:
People are able to uninstall apps via Facebook.com without interacting with the app itself. To help apps detect when this has happened, we allow them to provide a de-authorize callback URL which will be pinged whenever this occurs.
见