问题标签 [facebook-access-token]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
460 浏览

facebook - 延长访问令牌后,是否会使其有效期再延长 60 天?

如果我在 3 月 1 日请求并获得了访问令牌,并在 30 天后将其延长,它是否会再有效60天,还是需要最终用户重新授权?

我们正在实现一个自动发布功能,它是由我们自己的应用程序中的一个事件触发的。因此,最终用户将无法向 Facebook 展示其 cookie 以验证其身份。我们需要确保我们始终拥有一个有效的访问令牌。

Facebook 的官方文档在这个特定主题上相当含糊。

0 投票
2 回答
1147 浏览

javascript - 通过向 Facebook API 发送 HTTP 请求来创建帖子

我想通过发送 HTTP POST 在我的 Facebook 页面上发帖。我这样做的方式是创建一个永久的 access_token 用于发布到我的 facebook 页面。问题是 access_token 可以使用 firebug 或任何其他工具轻松获取/检查(因为它是硬编码的)。我怎样才能以不被其他人看到的方式发送它。

0 投票
1 回答
1045 浏览

facebook - Facebook注册成就access_token问题

解决方案编辑: 原来您不能使用 PHP SDK 返回正确的应用程序令牌,也不能点击开发人员网站应用程序部分中的 OpenGraph 选项,单击“获取代码”并从那里获取应用程序访问令牌。 . 你必须这样做:

原始问题: 使用 PHP SDK,我一直在尝试注册我的成就,但没有成功。我不断收到以下错误:“必须使用应用程序 access_token 调用此方法。”

但是,当我将我正在使用的令牌输入到 opengraph (https://graph.facebook.com/app?access_token=ACCESS_TOKEN) 时,我会正确获取我的应用程序信息。

以下是我迄今为止在注册成就时尝试过的方法:

一切都会回来说它需要一个access_token。

0 投票
1 回答
552 浏览

facebook - 第二次交换短期访问令牌?

如果您使用交换短期访问令牌以将其延长至 60 天

https://graph.facebook.com/oauth/access_token?client_id=(APP_ID)&client_secret=(APP_SECRET)&grant_type=fb_exchange_token&fb_exchange_token=(AccessToken1ST )

当由此返回的访问令牌(AccessToken2)即将到期时,能否用原来的短期访问令牌(AccessToken1ST)换取新的访问令牌(AccessToken3)?

我会对其进行测试,但它只是一遍又一遍地返回相同的访问令牌,因为访问令牌 2 尚未过期。

我知道我可能可以使用访问令牌 2 来执行此操作,但我正在从某个文件中读取访问令牌 1,因为我没有以用户身份登录,我只想读取公共 Facebook 数据,而不必手动更新访问令牌 1(因为我没有对它的写访问权),如果可能的话,宁愿只使用访问令牌 1 来生成访问令牌 3。

0 投票
1 回答
238 浏览

devise - 我没有对 fb 用户的离线访问权限 - 我应该在会话中存储朋友列表吗?RoR、设计、Omniauth 和 FBGraph

我通过 facebook 在我的应用程序上对用户进行身份验证。执行此操作时,我获取访问令牌并执行验证。但是,在登录后不久,我将不得不向我的用户展示他们的朋友列表。问题是访问令牌到那时已经过期。

鉴于我正在使用 devise、omniauth 和 fbgraph gem,我该如何执行此操作?

想法:

  • 获取新的访问令牌。我该怎么做呢?我是否必须修改我的omniauth_callbacks_controller?
  • 我应该将朋友列表存储在会话变量中吗?

我的omniauth控制器:

0 投票
3 回答
4320 浏览

facebook-access-token - 如何使用 java 获取永久 Facebook 访问令牌

如果您使用 Facebook 图形 API,您可以查看某人的所有公开信息(如果该人将这些信息设为公开),您只需要做几件事:打开浏览器,登录 Facebook 并知道该人的用户 ID#,例如, Mark Zuckerberg - facebook 创始人有用户 ID#4,所以去: https ://graph.facebook.com/4 => 你可以看到基本信息,比如名字,年龄,位置......(想象你改变了i 在 _ https://graph.facebook.com/i中,i 从 1 到 100 万,您可以看到百万用户的信息,只要他们公开设置他们的信息)

或者去这个链接你可以看到更多的信息,比如个人收藏和教育... Facebook(在http://developers.facebook.com/docs/reference/api/中查看更多信息)

我的目标是使用基本的 java url 转到这些链接并获取所有信息(基本上它们是文本)并将它们保存到文本文件中,使用 _https://graph.facebook.com/4 没有问题,但使用第二个链接问题是访问令牌代码是 XXX - 每次都会更改或将在 20~30 分钟后过期,所以我不能再运行我的程序来获取更多数据。问题是无论如何都可以获得永久访问令牌或将其延长更长的时间,请记住我只使用一个小型 Java 程序,与 Facebook 应用程序或其他任何东西无关。先谢谢了!

0 投票
2 回答
1053 浏览

android - Facebook Single Sign On 注册或登录服务器(Android 和 Ios)

我们正在实施一个项目,用户在该项目中发布并从服务器获取一些信息。场景是用户可以手动创建帐户/登录(提供电子邮件和密码),也可以使用 SSO 使用 Facebook 凭据。我主要实现 Android 部分,但我的问题很笼统。

  1. 假设我有一个调用 SSO 的按钮,提示用户提供他的凭据。那么为了创建帐户我应该向服务器发送什么?获取用户的 FB 电子邮件并将我收到的 Access Token 设置为密码?每个 FB 帐户的访问令牌是否唯一且永久,这意味着每次我使用相同的 FB 凭据时,我都会获得相同的访问令牌?

  2. 在服务器端是否需要做任何额外的工作?或者服务器是否可以像处理其他用户一样处理使用其 FB 帐户的用户?

每一个澄清都会非常有帮助。先感谢您!

0 投票
2 回答
1872 浏览

android - 是否可以在 Android 应用程序中使用 extendAccessTokenIfNeeded 扩展 Facebook 令牌?

我认为这可能会影响到很多 Facebook/Android 开发人员,但似乎并没有太多关于这个话题的讨论......

我的问题

有没有人使用 extendAccessTokenIfNeeded 函数成功刷新了令牌?如果您确实成功了,那么设备(或模拟器)运行的是什么版本?

背景

我收到一封来自 Facebook 的电子邮件,说从 2012 年 5 月 1 日起将弃用 offline_access 权限,并且 Facebook 建议升级到他们最新的 SDK。美好的。

我升级到最新的 SDK,官方的 Facebook 应用程序安装在我的设备上,并且(最终!)单点登录似乎工作正常。我收到了 60 天的代币,这又没问题。

当我尝试使用 extendAccessTokenIfNeeded(Context context, ServiceListener serviceListener) 时出现问题。我无法让它在更长的到期时间内刷新我的令牌。我在两次尝试之间等待了 24 小时,但令牌不会刷新。我可以获得刷新令牌的唯一方法是注销并登录。这也发生在我使用示例项目“Hackbook”时。

最明显的答案是我做错了什么,但是,向 Facebook 提交了一份错误报告说......“应该ExtendAccessToken 实际上几乎总是返回错误。” 该报告已被列为优先“愿望清单”。

extendAccessTokenAsNeeded() 的替代方案

Facebook 文档中,关于 offline_access 弃用令牌可以使用 Graph API 进行扩展。但是,这样做的缺点是需要在 URL 中包含“App Secret”。一个优点是用户不需要在他们的设备上安装官方的 Facebook 应用程序。

其他想法和顾虑

  • 通过将 Facebook.java 中的 extendAccessTokenIfNeeded 函数更改为始终返回 true,我想我让它刷新一次。(我说“认为”的原因是因为它不会重复这种行为,我怀疑我必须再等 24 小时才能再次成功)

  • 我注意到 Hackbook 需要导入AndroidHttpClient。这仅适用于 API 8 及更高版本。这是否意味着 Facebook SSO(特别是令牌刷新)只能在 API 8 及更高版本的设备上运行?

  • SDK 中包含的Facebook.apk相当陈旧。也许这就是为什么令牌在运行 API 8 及更高版本的模拟器上不刷新的原因?

  • 最后,所有这些都只与那些安装了官方 Facebook 应用程序的人有关!对于那些没有官方 Facebook 应用程序的人,需要完成另一种方法(现在只是抱怨!)

相关 Facebook 链接

GitHub 上的 Facebook-Android-SDK

Facebook 安卓教程

Facebook offline_access 权限弃用

脸书错误报告

相关堆栈溢出问题

Facebook 60 天访问令牌和已弃用的 Offline_Access

Facebook 访问令牌无法扩展

在 5 月 1 日后弃用后,offline_access 将如何工作?

Facebook 访问令牌无法扩展

保护用于 extendAccessToken 使用的应用程序机密 (Java/Android)

0 投票
1 回答
8322 浏览

facebook - 访问令牌 Facebook 图形 api?

在 FB 上创建应用后,我得到一个访问令牌 XXX

当我打开https://graph.facebook.com/me/likes?access_token=XXX时,它确实显示了我喜欢的所有信息。

但是当我打开从另一个用户那里看到(谁公开了这些信息,比如https://graph.facebook.com/4/likes?access_token=XXX)我什么都没有

有人可以向我扩展为什么和任何想法可以解决吗?

0 投票
1 回答
3399 浏览

android - 在 Android 应用中获取刷新的 Facebook 令牌的代码是什么?

我正在开发一个 Android 应用程序。随着 Facebook 的离线访问权限即将被弃用,我正在尝试使用 Graph API 来扩展 Facebook 令牌。

谁能提供详细的代码来演示如何将上面的代码实现到android应用程序中并获取刷新的Facebook令牌?

感谢您的时间。

更新二:

进步(我认为)!

将完整 URL 与 facebook 请求方法一起使用会导致将基本 URL 添加到 URL 的开头所以而不是

应该使用

但是我现在收到响应 {"error":{"message":"Error validating application. Invalid application ID.","type":"OAuthException","code":190}}

更新一:

这是我尝试过的。代码完成,即调用侦听器上的 OnComplete,但响应不包含新的访问令牌或到期值。

这是我的 RefreshListener 版本...

代码完成,即调用侦听器上的 OnComplete,但响应不包含新的访问令牌或到期值。回应是...

当我将相同的 URL(带有字母数字当前令牌值)放入 Web 浏览器时,响应确实包含访问令牌。


相关信息

Facebook 的 offline_access 权限将于 2012 年 5 月 1 日弃用

请不要建议在 onResume() 中使用 extendAccessTokenIfNeeded 函数。我也遇到了麻烦,这就是我正在研究 Graph API 令牌刷新的原因:-)

相关堆栈溢出问题

是否可以在 Android 应用程序中使用 extendAccessTokenIfNeeded 扩展 Facebook 令牌?(我的问题)

在 5 月 1 日后弃用后,offline_access 将如何工作?

Facebook 访问令牌无法扩展

保护用于 extendAccessToken 使用的应用程序机密 (Java/Android)

相关 Facebook 链接

Facebook 安卓教程

Facebook offline_access 权限弃用