如何获取和使用Graph User Access Token用于个人脚本?

时间:2014-12-06 22:01:06

标签: facebook facebook-graph-api

我编写了一个Python脚本,根据我们的帖子和评论为我和几个朋友制作一些统计信息。我一直在使用Graph Explorer中的临时令牌并在运行之前将其复制到脚本中。到目前为止,我已经能够使用API​​ 1.0访问朋友的帖子(并且有一段时间使用2.0,我认为这是一个错误)但现在1.0 API正在关闭,我遇到了一个问题 - 而一些我仍然可以访问/ post请求,许多人返回“不支持的获取请求”错误。我只能假设我不能再访问这些,除非我使用他们的用户访问令牌。

我不确定我现在能做什么:

  • 要求他们使用Graph Explorer为我提供临时令牌。它有效,使用默认权限非常安全,但每次我想更新数据时都必须这样做。
  • 制作一些他们将登录一次的虚拟应用程序。我不知道这是否违反任何规则,如果它将被立即删除,我希望不会。但我不知道如何从应用程序中提取用户访问令牌,以便我可以在脚本中使用它。

这样做的“正确”方法是什么?

1 个答案:

答案 0 :(得分:0)

如果应用程序仅适用于特定人群,则应该没问题。只需将您的朋友添加为应用中的Tester,这样他们就可以使用read_stream权限对其进行授权。否则,您需要完成审核流程,而Facebook通常不会批准read_stream

您真的不需要处理访问令牌,只需使用JavaScript SDK并在访问您的应用时阅读朋友的流。

顺便说一句,您可以在FB.login的回调响应中获取访问令牌。但它只有2小时有效,但你可以延长到60天。有关扩展访问令牌的更多信息:https://developers.facebook.com/docs/facebook-login/access-tokens

简易解决方案:创建一个输入页面,您的朋友(他们是应用中的测试人员)可以使用read_stream进行授权。在授权或使用FB.getLoginStatus刷新令牌后,阅读他们的帖子并存储它们。

这里有一些代码可以帮助您开始该入口页面:http://www.devils-heaven.com/facebook-javascript-sdk-login/

...当然你也可以让你的朋友手动生成访问令牌。有关这方面的信息可以在Facebook文档中找到(参见上面的链接)或(例如)这里:http://www.devils-heaven.com/facebook-access-tokens/ - 然后他们可以给你令牌,如果它是扩展的,它将有效60天,如果是默认的用户令牌,则只需2小时。