获取facebook用户拥有的朋友数量

时间:2013-07-16 19:59:44

标签: python facebook api facebook-graph-api

我有2个不相关的问题。

  1. Facebook允许您使用api获得多少个帖子?
  2. 使用facepy,facebook或任何其他API,我如何获得用户拥有的朋友数量? (这个用户不是我的朋友)。提供了用户ID。
  3. 这就是我目前用facebook api获取朋友的数量:

    >>> from facebook import *
    >>> token = 'whatevertheinfo'
    >>> graph = facebook.GraphAPI(token)
    >>> friends = graph.get_connections("me", "friends")
    >>> len(friends['data'])
    1
    

    如果我尝试>>> friends = graph.get_connections("100000549223625", "friends"),我会收到此错误:

    Traceback (most recent call last):
      File "<pyshell#55>", line 1, in <module>
        friends = graph.get_connections("100000549223625", "friends")
      File "C:\Documents and Settings\visolank\Desktop\Python\programs\facebook.py", line 112, in get_connections
        return self.request(id + "/" + connection_name, args)
      File "C:\Documents and Settings\visolank\Desktop\Python\programs\facebook.py", line 298, in request
        raise GraphAPIError(response)
    GraphAPIError: Unsupported operation
    

    我不需要知道朋友是谁,我只需要一个号码。我知道这是可能的,因为facebook声称:

    “公开个人资料和朋友列表

    公开个人资料和好友列表是应用可用的基本信息。必须明确要求所有其他权限和内容。“

4 个答案:

答案 0 :(得分:9)

这是故意行为。有一个bug report提出了这个问题,这是Facebook官方的回应:

  

这是故意的,您无法为该应用的非用户检索朋友列表。

我怀疑如果你使用安装了你的应用程序的用户ID,它可能会有用,但不仅仅是任意用户。

答案 1 :(得分:3)

回答问题1(Facebook允许您通过api通话收到多少帖子):

通过FQL(Facebook查询语言)查询Facebook时,您可以将结果限制为最多5000条记录。所以我会说5000。

回答问题2(我如何获得用户拥有的朋友数量):

您可以查询当前登录用户的所有朋友。但是,您不能向facebook询问未通过您的应用登录的用户的朋友数量。

答案 2 :(得分:1)

您需要从您尝试获取好友列表的用户那里获取访​​问权限/令牌

答案 3 :(得分:0)

使用python sdk for facebook graph api。这应该工作。阅读 从Facebook获取对象 部分,然后它应该非常简单。

只是为了帮助你。

导入fb 的Facebook = fb.graph.api(令牌) friends = facebook.get_object(cat =&#39; single&#39;,id =&#39; the_user_id&#39;,fields = [&#34; friends&#34;])

现在朋友们将有一个包含用户朋友的python字典。