如何获取Facebook上的几个帖子的信息?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取Facebook上的几个帖子的信息?相关的知识,希望对你有一定的参考价值。
我需要从一个帖子对象获取有关喜欢,评论等的信息,这里是我发送的请求代码。
我的要求示例:
class StatsSN:def init(self,fb_post_id,fb_token):self.fb_post_id = fb_post_id self.fb_token = fb_token
def req_stats(self, url_method):
req = requests.get(url_method)
if req.status_code != 200:
# return req.json().get('error')
# return 'error'
log.info('FB_Statistics: %s' % req.json())
return -1
return req.json().get('summary').get('total_count')
def fb_likes(self):
url_method = fb_api_url + '%s/likes?summary=true&access_token=%s' % (self.fb_post_id, self.fb_token)
return self.req_stats(url_method)
def fb_reactions(self):
url_method = fb_api_url + '%s/reactions?summary=total_count&access_token=%s' % (self.fb_post_id, self.fb_token)
return self.req_stats(url_method)
def fb_comments(self):
url_method = fb_api_url + '%s/comments?summary=true&access_token=%s' % (self.fb_post_id, self.fb_token)
return self.req_stats(url_method)
def fb_sharedposts(self):
url_method = fb_api_url + '%s/sharedposts?access_token=%s' % (self.fb_post_id, self.fb_token)
req = requests.get(url_method)
if req.status_code != 200:
log.info('FB_Statistics: %s' % req.json())
return -1
return len(req.json().get('data'))
def fb_stats(self):
fb_likes, fb_reactions, fb_comments, fb_sharedposts = self.fb_likes(), self.fb_reactions(), self.fb_comments(),
self.fb_sharedposts()
return int(fb_likes), int(fb_reactions), int(fb_comments), int(fb_sharedposts)
Graph API中是否有方法可以获取一个请求中的少数帖子的信息?
答案
您可以通过发送批量请求来实现它;如果您只需要公共数据,那么普通的页面令牌就足够了。但是,如果您需要私人信息,则需要您希望获得指标的页面帖子的特定页面标记。
由于您引用的指标是公共的,您应该能够使用以下语法发送GET请求:
https://graph.facebook.com/v2.12/?fields=id,comments.limit(0).summary(true),shares,reactions.limit(0).summary(true)&ids=STATUS_ID1,STATUS_ID2,STATUS_ID3,...,STATUS_ID50&access_token=PAGE_TOKEN
您可以在一次通话中请求最多50个状态ID。
limit(0).summary(true)
这部分你需要添加评论和反应,因为这是检索评论/反应总量的最佳实践。
以上是关于如何获取Facebook上的几个帖子的信息?的主要内容,如果未能解决你的问题,请参考以下文章