【问题标题】:How to get all content posted by a Facebook Group using Graph API如何使用 Graph API 获取 Facebook 群组发布的所有内容
【发布时间】:2014-04-04 16:27:10
【问题描述】:

我对 Graph API 非常陌生,正在尝试编写一个简单的 Python 脚本,该脚本首先识别用户喜欢的所有页面以及他/她所属的所有组。为此,我使用了以下内容:

To get the groups he has joined:

API: /{user-id}/groups 
Permissions req: user_groups 


To get the pages he has liked:

API: /{user-id}/likes 
Permissions req: user_likes

and 
    url='https://graph.facebook.com/'+userId+'/likes?access_token='+accessToken +'&limit='+str(limit)

现在我可以在 JSON 输出中看到组的 ID,我想逐个点击它们并获取该组中发布的所有内容(帖子、cmets、照片等)。这可能吗?如果可以,我该怎么做?我必须进行哪些 API 调用?

【问题讨论】:

    标签: python facebook facebook-graph-api facebook-group


    【解决方案1】:

    这是一个相当广泛的问题,在这里提问之前,您应该尝试搜索 SO。

    无论如何,我会广泛地告诉你如何做到这一点。

    首先查看Graph API的官方文档:Graph API Reference
    您会发现每一个可用于获取数据的 API。例如:/group/page。您将了解 API 调用需要什么样的access token 以及哪些权限。

    这里有一些对你有用的 API 调用-

    • 获取组/页面的帖子-/{group-id/page-id}/posts

    • 获取帖子的 cmets-{post-id}/comments

    • 获取群组/页面的照片-/{group-id/page-id}/photos

    等等。一旦你浏览了文档并测试了一些 API 调用,事情就会变得很清楚。这很容易!

    希望对您有所帮助。祝你好运!

    【讨论】:

      【解决方案2】:

      检查 API 参考。你应该使用feed

      您可以使用/{group-id}/feed 获取该组的Post objects 数组。请记住包含组成员的用户访问令牌。

      【讨论】:

      • 如何获取文本或日期时间?我无法解析输出。
      【解决方案3】:

      下面是一个使用 facepy 的例子:

      from facepy import GraphAPI
      import json
      
      graph = GraphAPI(APP_TOKEN)
      
      groupIDs = ("[id here]","[etc]")
      
      outfile_name ="teacher-groups-summary-export-data.csv"
      f = csv.writer(open(outfile_name, "wb+"))
      
      for gID in groupIDs:
        groupData = graph.get(gID + "/feed", page=True, retry=3, limit=500)
      
      
          for data in groupData:
              json_data=json.dumps(data, indent = 4,cls=DecimalEncoder)
              decoded_response = json_data.decode("UTF-8")
              data = json.loads(decoded_response)
              print "Paging group data..."
      
              for item in data["data"]:
                  ...etc, dealing with items...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多