从Facebook获取我的墙贴或朋友 - 列表是空的

时间:2015-11-03 16:35:48

标签: python windows facebook facebook-graph-api facebook-wall

我执行了以下操作:

  1. 安装了两种Facebook API: pip install facebook pip install fb

  2. 去了https://developers.facebook.com/tools/access_token/,注册了我的应用并获得了用户令牌(一些长字符串,目前在代码中用作硬编码,我稍后会更改)

  3. 创建以下代码(请参阅评论内容以及如何工作或不起作用:

    import re
    import urllib2
    import requests
    import facebook
    import fb
    
    
    token="User Token"
    graph = facebook.GraphAPI(token)
    profile = graph.get_object("me")   #POSITIVE: I can get profile info
    friends = graph.get_connections('me', "friends")  #POSITIVE: I can get real friends count, NEGATIVE - the list itself is empty
    posts = graph.get_connections('me', "posts")  #NEGATIVE - the list itself is empty, no count is returned, as in "friends" case
    feed= graph.get_connections('me', "feed")  #NEGATIVE - the list itself is empty, no count is returned, as in "friends" case
    
    fb1=fb.graph.api(token)
    profile = fb1.get_object(cat='single', id="me")  #NEGATIVE - error in given parameters
    
  4. 为了确保我也使用相同的令牌https://developers.facebook.com/tools/explorer并得到相同的结果:

    GET me\friends:
    {
      "data": [
      ],
      "summary": {
        "total_count": 575
      },
    }
    
    GET me\feed:
    {
      "data": [
      ],
    }
    

    为什么返回的列表为空?

    谢谢!

    更新:我发现我没有权限,只有那些权限。如何获得更多?为什么在获得“朋友”许可的情况下,我看不到有关它们的信息,只能看到它们的总数?

    {
      "data": [
        {
          "permission": "user_friends",
          "status": "granted"
        },
        {
          "permission": "public_profile",
          "status": "granted"
        }
      ],
    }
    

    已解决:我发现问题所在!我没有获得具有所有权限的app令牌。执行以下操作:

    1. 转到https://developers.facebook.com/tools/explorer

    2. 选择您的APP名称(附件中我是lj_for_me)

    3. 按“获取用户令牌”并选中所有框(或您真正需要的内容)。

    4. 现在,您将拥有从您的 FB帐户获取帖子和照片等的权限。为了从其他用户帐户中获取相同的信息,您需要从FB获得此类许可(据我所知,但我没有深入研究此主题)

      enter image description here

1 个答案:

答案 0 :(得分:2)

从图谱API的v2.0开始,出于隐私原因,您只能获得授权您的应用{0}}权限的朋友。如果您的朋友都没有授权该应用,则只能获得user_friends

使用total_count权限,btw。

可以访问墙上帖子