使用 Facebook OAuth 2.0 - 如何获取访问令牌?

2024-04-30

我是新来的OAuth http://en.wikipedia.org/wiki/OAuth,我正在尝试使用脸书连接 http://en.wikipedia.org/wiki/Facebook_Platform#Facebook_Connect与我的网络应用程序。

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

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;

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


你需要添加&type=user_agent到请求。您将获得带有以下格式的哈希标记的 AuthToken。

http://yourredirecturi#code=[accesstoken]

如果您将请求设置为&type=web_server,您将获得 AuthToken 作为查询字符串参数:.

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

Facebook 平台的 OAuth 2.0 协议和 ASP.NET MVC http://amirrajan.net/Blog/asp-mvc-and-facebook-single-sign-on

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Facebook OAuth 2.0 - 如何获取访问令牌? 的相关文章

  • 如何通过用户的个人资料url获取用户的id?

    现在 当用户在文本框中输入他的个人资料网址时 例如http www facebook com Google http www facebook com Google 表格立即显示Google徽标 这是Google的facebook paeg
  • 使用 javascript 更改 div 颜色

    div style height 20px width 100 background color 000000 div br
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • 仅单击 div 内部

    我正在为一个小网站制作教程 我只想让教程气泡可点击 因此 当我们尝试单击气泡之外的某些内容时 什么也不会发生 换句话说 我希望我的 html 不可点击 而 tutorial bubble 可点击 尝试这个 jQuery function h
  • 创建一个简单的 10 秒倒计时

    我想要一行这样写的 Your download will begin in 10 9 8 etc Beginning on page load seconds 我已经设置了 10 秒下载文本 并且我还查看了其他 stackoverflow
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 启用/禁用由用户输入确定的复选框

    我有一个简单的表单 用户可以在其中输入他的联系号码 如果联系号码以 07 开头 则该复选框已启用 其他我需要禁用它的复选框 我已经编写了一些代码 但我面临的问题是 当用户键入 01 时 它会被禁用 但如果他们继续在 01 之后添加任何其他数
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 在 jQuery 可排序中对多个选定项目进行排序?

    我试图在 jQuery 可排序集中选择多个项目 然后将选定的项目一起移动 这是我的弱点开始尝试使其发挥作用 http jsfiddle net benstenson CgD8Y 这是代码 HTML div class container d
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • console.log() 显示同一对象属性的矛盾值

    我想我可能要疯了 我使用 console log 来查看对象的状态 然后在下一行对同一对象的特定属性执行 console log 并为每个属性获取不同的值 我正在使用的代码是 console log this pictures Items
  • 为什么 Web Worker 性能在 30 秒后急剧下降?

    我正在尝试提高在网络工作人员中执行时脚本的性能 它旨在解析浏览器中的大型文本文件而不会崩溃 一切都运行得很好 但我注意到使用网络工作者时大文件的性能存在严重差异 于是我做了一个简单的实验 我在同一输入上运行脚本两次 第一次运行在页面的主线程
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • Flowtype 属性“msg”缺失为 null 或未定义

    我发现 Flow 很难用 我明白那个Array find可以返回或未定义 因此 通过阅读以下内容 github Array find on Array 引发 https github com facebook flow issues 351

随机推荐

  • NSString 中的子字符串 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在用NSString我想获取它的一个子字符串 其中包含字符串的前 20 个字符 我怎样才能做到这一点 您可以使用substringT
  • Glassfish Eclipse 插件与 jdk 8

    我正在尝试使用 glassfish eclipse plugin 启动 glassfish 4 不幸的是 它似乎无法识别我刚刚安装的 JDK 8 Release候选版本 完成 按钮保持禁用状态 如果我选择 java 7 jdk 完成按钮将启
  • GenServer 正常关闭

    我使用 GenServer 编写了一个 Elixir 应用程序 该应用程序在启动时启动外部应用程序 然后将其关闭 并在退出时进行其他清理 我在中添加了启动功能init 1 https hexdocs pm elixir GenServer
  • PySpark 将“map”类型的列转换为数据框中的多列

    Input 我有一个专栏Parameters类型的map形式 from pyspark sql import SQLContext sqlContext SQLContext sc d Parameters foo 1 bar 2 baz
  • 企业 iPhone 应用程序无线分发的安全性 - OTA iOS

    在企业 iPhone 应用程序的无线分发中 iPhone 安全地下载 XML 清单文件 其中包含指向 ipa 文件 应用程序本身 的完全限定 URL 然后从那里下载应用程序并安装它 我想知道这里是否存在安全漏洞 假设 iPhone 位于公共
  • d3.forcesimulation() 链接距离

    我在堆栈上查看了不同的链接距离 似乎为了改变链接距离 您需要实现一个函数 然后传递它来动态分配链接距离 如下所示 function linkDistance d return d distance 然后我认为我可以传递给 svg 但返回函数
  • 导入错误:使用 Mingus 库时没有名为“mt_exceptions”的模块

    提前原谅我的无知 我对 python 很陌生 我正在尝试使用 python 3 版本 https code google com r artdent mingus python3 https code google com r artden
  • 检查一个数字是否可以表示为两个立方之和的高效程序

    我正在尝试编写一个程序来检查数字 N 是否可以表示为两个立方之和 即 N a 3 b 3 这是我的代码 复杂度为 O n include
  • TFS 2012禁用多重签出不起作用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想禁用我们的 TFS 项目的多次签出 我期望它的工作方式如下 Bob 查看 File1 cs Joe 在 Visual Stud
  • 如何在logstash.conf文件中创建多个索引?

    我使用以下代码在logstash conf中创建索引 output stdout codec gt rubydebug elasticsearch host gt localhost protocol gt http index gt tr
  • python seaborn重置回matplotlib

    我使用的是seaborn版本o 4和matplotlib版本1 42 我有一个图表通过简单的绘图命令显示线条和标记 例如 plt plot 1 5 3 8 4 bo 由于潜在的错误 https github com mwaskom seab
  • 使用 pycassa 读取 Cassandra 1.2 表

    使用卡桑德拉 1 2 我按以下方式使用 CQL 3 创建了一个表 CREATE TABLE foo user text PRIMARY KEY emails set
  • python 中的关键字参数别名

    我总是觉得奇怪的是 有一些关键字参数 或参数 可以传递给函数或 init 类的方法 如何防止不熟悉您的代码的用户犯错误 如何让用户立即 几乎本能地 熟悉您的代码 而无需编写糟糕或冗长的文档 或者进行多次试验和错误 从而阻止用户快速 舒适地使
  • Vue cli 3项目,图像路径中的动态src不起作用

    我在 vue 组件中引用图像 url 例如 img alt Vue logo src statics reports logo png 这有效 但在尝试的同时 img alt Vue logo data return imgPath sta
  • Oracle 中的 MD5 (DBMS_OBFUSCATION_TOOLKIT.MD5)

    我正在尝试编写一个函数 从我到处收集的位中获取 MD5 哈希值 我想获得哈希的小写十六进制表示 到目前为止我有这个 CREATE OR REPLACE FUNCTION MD5 CADENA IN VARCHAR2 RETURN DBMS
  • 尽管不在形式中,但 Rails 属性会发生变化

    我有 Rails 应用程序 用户可以在其中互相分配任务 每个任务都有一名分配者和一名执行者 默认情况下 任务创建者 当前用户 始终是分配者 分配者和执行者都可以编辑同一个任务 我的问题如下 假设 user id 2 是分配者 user id
  • HTML5 svg 标签和 alt 属性

    不是 HTML 方面的专家 也不是检查 HTML 解析器的正确行为的专家 根据 html5 寻找正确的行为不好或预期 我们可以稍后处理 在新的 HTML5 标签中放置 alt 属性是否有效
  • Spring Boot 忽略 @JsonDeserialize 和 @JsonSerialize

    我有一个带有 RESTful 端点的 Spring Boot 应用程序 我想向其中添加自定义序列化器乔达时间 http www joda org joda time 但我无法让应用程序默认 Jackson Serailzier 识别我的自定
  • Pandas DataFrame:在我想要保留的内容之前和之后从字符串中删除不需要的部分

    在我的 data cleaner 数据集中 我有列 功能 项目 ID 这标识了项目 其格式为 代码 年份 代码 我只对项目的年份感兴趣 所以我想删除第一个 之前的所有内容和第二个 之后的所有内容 Project ID AGPG 2013 1
  • 使用 Facebook OAuth 2.0 - 如何获取访问令牌?

    我是新来的OAuth http en wikipedia org wiki OAuth 我正在尝试使用脸书连接 http en wikipedia org wiki Facebook Platform Facebook Connect与我的