目前,我正在使用https://github.com/pythonforfacebook/facebook-sdk
我不久前刚拿起python。
我需要做什么: 检索特定Facebook页面的帖子。
示例:
在Facebook Graph Explorer API中,以沃尔玛为例
/v2.2 / walmart?fields=posts{message}
结果就是我所需要的。
我有什么
的示例targetProfile = 'walmart'
graph = facebook.GraphAPI(key)
profile = graph.get_object(targetProfile)
posts = graph.get_connections(profile['id'], 'posts')
print posts['data']
使用有效的访问密钥等运行上述代码后,似乎打印出消费者的评论/帖子,但我只需要来自沃尔玛的帖子。有人可以告诉我我应该做什么,或者我做错了什么?
提前致谢!
答案 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