【问题标题】:Generate long lived "User" access token from access token generated from Graph API Explorer. Not the app access token从 Graph API Explorer 生成的访问令牌生成长期存在的“用户”访问令牌。不是应用访问令牌
【发布时间】:2013-01-10 09:49:20
【问题描述】:

我的目标是从用户时间线获取公共数据,例如状态、提要、用户名、家乡等。我正在使用 Java 中的桌面应用程序,它发送带有访问令牌的 HTTP 请求来获取时间线数据。有两种类型的令牌,其中一种给我我想要的完整数据,另一种给我部分数据。两者都在下面提到。

Type 1.点击“获取访问令牌”并授予权限后在 Graph API Explorer 上生成

(这将在 1 小时内到期,并为我提供我想要的用户时间线中的所有数据,例如状态、ID、用户名、提要等)。为此,我使用以下 url 并对 API 进行 HTTP 调用:https://graph.facebook.com/<Username>?fields=id,name,statuses.fields(message)&access_token=AAACEd 这为我提供了响应 JSON 中所有提到的字段。

类型 2。 创建应用后生成。

使用 appId 和 appSecret 我生成了一个短暂的访问令牌。 (这将在 1 小时内到期。)在此之后使用 https://developers.facebook.com/docs/howtos/login/extending-tokens/ 中提到的文档和 url,我能够生成长期访问令牌(这些令牌在大约 60 天后到期)。

当我在上述 url 中使用此令牌进行身份验证时,它无法解决我的目标并从用户时间轴返回有限的信息。它不返回“状态”字段,只返回时间线中的几个公共提要。

这里的问题是访问令牌,它给我的所有数据在一小时内过期,我不可能在每小时手动更改一次后在我的应用程序中更改它,第二个访问令牌是长寿,但没有给我完整的数据。

所以我想要长寿用户访问令牌而不是应用程序生成的访问令牌,它为我提供了所有数据。即我想要上述类型 1 的长寿命访问令牌。延长访问令牌到期时间的过程需要应用程序 ID 和密钥,但 Graph API Explorer 没有。

请提出一种方法来获得类型 1 的长寿命访问令牌或任何其他方法来实现我的目标。请帮忙。

【问题讨论】:

  • 如果您知道此 API 调用需要应用程序 ID 和应用程序密码 - 为什么要在没有它们的情况下调用它?如果您还没有注册应用,请先注册。
  • 我最关心的是“用户访问令牌和应用访问令牌有什么区别”。当然,这些是不同的,因为一个返回给我所需的数据(用户生成的访问令牌),而另一个返回非常有限的数据(应用访问令牌)。我做了你要求我做的事情,但这并不能解决我的目标并返回有限的数据。而使用用户访问令牌我能够得到我想要的,但这个令牌是短暂的,我想转换为长寿。我想要一种方法来增加用户访问令牌的有效期。希望我这次清楚吗?请帮忙。
  • 你很清楚 - 有点,因为描述如何扩展用户访问令牌的文档也非常清楚 IMO。那么,按照本文档的描述,您的实际问题是什么?
  • 嗨.. 我再次编辑了我的任务,因为我不允许回答我自己的问题。帮助我找到出路。谢谢

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-authentication facebook-access-token


【解决方案1】:

从 2015 年 7 月起,您现在可以在 Facebook 中轻松创建 60 天访问令牌。

登录https://developers.facebook.com/tools/accesstoken/时,只需在此页面上单击要扩展的用户访问令牌上的调试按钮@

然后您会在页面底部附近看到一个蓝色的“扩展访问令牌”按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 2013-12-09
    • 2015-09-27
    • 2012-03-13
    • 2019-11-29
    • 2014-03-07
    • 2017-06-22
    • 2019-05-31
    相关资源
    最近更新 更多