4

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

类型 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 的长寿命访问令牌或任何其他方式来实现我的目标。请帮忙。

4

1 回答 1

0

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

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

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

于 2018-04-17T12:27:41.720 回答