注册Facebook - Java服务器端身份验证 - 获取访问令牌

时间:2012-05-04 01:29:59

标签: java facebook facebook-graph-api facebook-oauth

要获取用户详细信息,facebook docs建议拨打此电话:

https://graph.facebook.com/me?access_token=YOUR_USER_ACCESS_TOKEN

当用户使用Facebook的“注册插件”注册时,如何从签名请求中获取此用户access_token。后者包含oauth_token,但我找不到有关如何获取access_token的文档。我使用 java服务器端身份验证 技术(我不使用javascript方式..)

具体来说,文档说:

https://graph.facebook.com/oauth/access_token?
    client_id=YOUR_APP_ID
    &redirect_uri=YOUR_REDIRECT_URI
    &client_secret=YOUR_APP_SECRET
    &code=CODE_GENERATED_BY_FACEBOOK

This answer建议传递空白重定向uri。但是“CODE_GENERATED_BY_FACEBOOK”来自REGISTRATION流程在哪里?我尝试将signed_request中的oauth_token作为“facebook生成的代码”传递。但它未通过验证。

指针将会很有帮助。感谢。

注意:我已经在“登录facebook”工作了&我知道如何在该流程中获取access_token。但是,当用户使用facebook注册时,我希望有更直接的方法。

1 个答案:

答案 0 :(得分:1)

你可能已经解决了你的问题,但无论如何我放了我的案子; 您必须为 dialog / oauth oauth / access_token 页面的“redirect_uri”参数设置完全相同的值(不幸的是,这在Facebook文档中没有明确说明) 。在我的例子中,有问题的URI是:

  • HTTPS: //www.facebook.com/dialog/oauth?client_id=23902620775&redirect_uri=http%3a%2f%2fwww.mydomain.com%2fMembership%2fLoginCheckFacebook&scope=user_birthday,email

  • HTTPS ://graph.facebook.com/oauth/access_token CLIENT_ID = 23902620775&安培;的 REDIRECT_URI = HTTP%3A%2F%2flocal.www.mydomain.com%2fMembership%2fLoginCheckFacebook &安培; client_secret = 80a34471e31e7afa0a7a7cd3cfc7&安培;代码= AQDsrevxH_Q3-NVts8VBThXCC0z6cCIhdnTMVCE9McsjJYLLy6ZKnlibmi8tWPcP ...