【发布时间】:2012-01-21 02:44:23
【问题描述】:
我正在迁移到 Oauth 2.0。我当前的站点使用 JS SDK,有一个 fb-login 按钮,然后我正在访问 Graph 以获取用户详细信息。
我在获取访问令牌以从 Graph 获取此数据时遇到问题。
一个问题可能是 JS SDK 对话框没有将我重定向到它说它应该的 URL,即带有 ?code=XXXXXXX 的那个我可以用来获取访问令牌。
所以我查看了 php SDK(我正在使用 ASP)来了解它是如何做到的。我已经解析了 cookie 中的签名请求值,获取了“代码”参数中的值以添加到令牌 URL,但我无法获得访问令牌。这些是我正在使用的值:
解析的签名请求数据:
{"algorithm":"HMAC-SHA256","code":"2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc","issued_at":1323895617,"user_id":"XXXXXXXXXX"}
Token URL: https://graph.facebook.com/oauth/access_token?
client_id=XXXXXXXX&
redirect_uri=XXXXXXXX&
client_secret=XXXXXX&
code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc
这是回复:
{"error":{"message":"Error validating verification code.","type":"OAuthException"}}
代码值的格式是否正确?有什么想法吗?
【问题讨论】:
-
你不会忘记 'client_secret=XXXXXX' 后面的 '&' 吗?
-
抱歉,这是格式问题。我的代码中确实有与号。我会修改的。
标签: facebook-graph-api access-token facebook-oauth facebook-javascript-sdk