javascript - 使用 Facebook OAuth 2.0 - 如何获取访问 token ?

标签 javascript facebook oauth

我是 OAuth 的新手,我正在尝试使用 Facebook Connect使用我的网络应用程序。

我已成功获得验证 token ,但我的问题是“获取”访问 token 。我如何获取它? Facebook 文档告诉我使用此 URL 获取访问 token :

https://graph.facebook.com/oauth/access_token?'
                + 'client_id=XXXXXXXXXXXX& redirect_uri=http://www.mysite.com/fbconn/index.html&display=touch&'
                + 'client_secret=axxxxxcxxxxxxxxxxx&code=' + code;

当我使用它时,我在空白页面上看到访问 token ,但我想使用 JavaScript (Ajax)、PHP 或其他方式获取它。这可能吗?我认为访问 token 会像验证码一样附加到我的重定向 URI,但我从未被重定向到我的页面。我做错了什么?

最佳答案

您需要添加 &type=user_agent到请求。您将获得具有以下格式的散列标记的 AuthToken。

http://yourredirecturi#code=[accesstoken]

如果您将请求设置为 &type=web_server ,您将获得 AuthToken 作为查询字符串参数:<a href="http://yourredirecturi&code=[accesstoken]" rel="noreferrer noopener nofollow">http://yourredirecturi&code=[accesstoken]</a> .

这里是如何实现 Facebook 的 OAuth 协议(protocol)的完整解释。代码示例位于 ASP.NET MVC 中,但它应该可以很好地翻译成任何语言:

Facebook Platform's OAuth 2.0 Protocol and ASP.NET MVC

关于javascript - 使用 Facebook OAuth 2.0 - 如何获取访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988236/

相关文章:

javascript - 如何为 NetSuite 中的 HTML 元素提供 DOM 中的 ID?

javascript - AngularJs 授权服务行为异常

c# - FacebookClient GetTaskAsync 有时会返回无效的 JSON 字符串(UWP 10)

ruby - 为什么 Mechanize 在看到错误的 OAuth 凭据时会引发 "undefined method ' 任何 ?'"?

php - Facebook OAuthException : "user hasn' t authorized the application to perform this action"

javascript - Object.create 设置 __proto__ 但不是原型(prototype)

javascript - AngularJS 中变量的文本输入

php - 使用 HybridAuth 的 Facebook 登录显示错误您无法直接访问此页面

javascript - AngularJs 和 Facebook 评论

azure - AcquireToken 异步在到期时间之前返回相同的 token