使用Facebook API(python)检索Facebook页面的帖子

时间:2014-11-11 04:55:28

标签: python facebook facebook-graph-api

目前,我正在使用https://github.com/pythonforfacebook/facebook-sdk

我不久前刚拿起python。

我需要做什么: 检索特定Facebook页面的帖子。

示例:

在Facebook Graph Explorer API中,以沃尔玛为例

/v2.2 / walmart?fields=posts{message}

结果就是我所需要的。

我有什么

遵循the get_post.py example

的示例
targetProfile = 'walmart'
graph = facebook.GraphAPI(key)
profile = graph.get_object(targetProfile)
posts = graph.get_connections(profile['id'], 'posts')

print posts['data']

使用有效的访问密钥等运行上述代码后,似乎打印出消费者的评论/帖子,但我只需要来自沃尔玛的帖子。有人可以告诉我我应该做什么,或者我做错了什么?

提前致谢!

3 个答案:

答案 0 :(得分:1)

在做了一些试验和错误之后,我找到了解决方案。这可能不是最好的解决方案,但它符合我的要求。

profile = graph.get_object(targetProfile+"/statuses")

Jstr = json.dumps(profile)
JDict = json.loads(Jstr)

   for i in JDict['data']:
       print "message: "+i['message']

答案 1 :(得分:1)

下面的代码段应解决有关检索帖子的所有邮件的问题,它使用facepy并自行处理分页。

from facepy import GraphAPI
import json

access = '<access_token>'

graph = GraphAPI(access)
page_id= '<page_name or page_id>'
datas= graph.get(page_id+'/posts?fields=message', page=True, retry=5)

posts=[]

for data in datas:
    posts.append(data)
    print posts

答案 2 :(得分:0)

profile = graph.get_object(targetProfile+"/statuses") print profile['data'][0]['message']

这将返回您个人资料的第一条消息,而不使用JStr和JDict var