如何获取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上的几个帖子的信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 iOS 的 Facebook 新闻提要(粉丝页面)? [关闭]

如何获取带有图像和视频以及文本的 facebook 提要?

如何从 FB 获取图片到网站

Wordpress - 如何通过 AJAX 获取更多帖子?

Facebook 分享帖子,包括 url 下的文字

如何将 Facebook 评论整合到我博客上的各个帖子上