使用Android的Facebook SDK,获取代码而不是访问令牌

我正在构建一个包含加载网站的WebView的应用程序.

当用户按下网站上的“与Facebook连接”时,我立即使用Facebook SDK打开“使用Facebook登录”,以便使用用户设备上的应用程序而不是Web表单更轻松地进行身份验证步骤.

现在,我的网站正在使用vBulletin,当登录完成后,它被重定向到:

http://mywebsite.com/community/index.php?dofbredirect=1&code=[MY_CODE]&state=[SOME_STATE]

当用户按下网站上的“与Facebook连接”时,我可以从webview获取的状态,但代码是我不能拥有的,我只能获取访问令牌.

是否有任何使用Facebook SDK交换代码而不是访问令牌的方法?

最佳答案 SDK请求值标记的response_type.看起来要实现您想要的,您需要手动构建登录处理程序并请求值代码的response_type.更多相关信息:

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/

资料来源:https://github.com/facebook/facebook-android-sdk/blob/b384c0655fe96db71229bfdcb981a522f3f1e675/facebook/src/com/facebook/internal/ServerProtocol.java#L59-L60

点赞