使用Python中的Facebook API Graph获取页面供稿

时间:2017-04-26 09:09:06

标签: python facebook api facebook-graph-api request

我试图获取Facebook页面信息和提要/帖子,特别是每篇帖子的文字。 我在Facebook for Developers上注册了一个新的测试应用程序,我获得了客户端令牌,秘密令牌和ID。我没有插入任何隐私链接或使用条款链接,因为它是个人测试。 在Graph API Explorer中,我获得了应用访问令牌,并且我正在使用它。 使用facebook-sdk我可以通过以下代码获取页面信息:

accessToken = "xxx"
user = 'BillGates'

graph = facebook.GraphAPI(accessToken, version='2.7')

profile = graph.get_object(id=user, fields='id,name,about,link,location,hometown,website', limit=100)
到目前为止,没问题。现在,我希望获得包含以下代码的帖子:

posts = graph.get_connections(profile['id'], connection_name='posts', fields='caption,created_time,description,from,link,message,object_id,parent_id,permalink_url,picture,privacy,place,properties,shares,source,status_type,story,to,type,with_tags', limit='100')

或在此网址上发表request.get()

url = "https://graph.facebook.com/v2.7/BillGates?fields=feed{caption,created_time,description,from,link,message,object_id,parent_id,permalink_url,picture,source,status_type,type}&limit=100&access_token=xxx"

但是我收到了这个错误:

facebook.GraphAPIError: (#15) Requires session when calling from a desktop app

我的应用程序有联系电子邮件,是本机或计算机应用程序(它将在Linux服务器上运行),是公共的,只有email,public_profile和user_friend作为已批准的元素。其他元素无法获得批准,因为我已经填写了备注,但我无法填写这些内容。

我的想法是定期请求"将军"访问令牌,或我要分析的每个页面的访问令牌。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用{client_access_token}作为access_token

解决了此问题
url = "https://graph.facebook.com/v2.3/#{fb_id}/apprequests/?access_token=#{client_access_token}"