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