Facebook Graph API - 获取与页面/组照片相同的数量

Jac*_*Leo 13 facebook count photos facebook-like facebook-graph-api

我一直在测试图形API并遇到了问题.如何通过页面/组的照片计数?

我是一个团队的管理员/创建者.当从https://developers.facebook.com/tools/explorer/输入该组中的某些照片ID时,它会带来几乎所有数据,甚至是评论,但不是相同的数量.对于相同的部分,它需要(根据文档)访问令牌,尽管任何人都可以访问该信息.

如何获取具有所需权限的页面/组的访问令牌以及如何使用它来获取我需要的信息?

如果可能的话,如果可能,我想从单个地址获取JSON.

squ*_*lan 28

这是可能的页面(即使没有访问令牌!),这是如何:

访问图表上的页面

通过转到页面的网址获取页面的ID:

https://www.facebook.com/pages/platform/19292868552

URL末尾的数字是页面的ID.采取这一ID和(图探险家使用它在这里),或只需访问它直接.

访问该页面的相册

现在将相册附加到该网址将为您提供该网页的所有相册,包括墙照片:

https://graph.facebook.com/19292868552/albums

输出如下所示:

{
   "data": [
      {
         "id": "10150160810478553",
         "from": {
            "name": "Facebook Platform",
            "category": "Product/service",
            "id": "19292868552"
         },
         "name": "Bringing Operation Developer Love to Europe",
         "description": "Blog post: http://developers.facebook.com/blog/post/479\n\nVideos and presentations uploaded here: http://developers.facebook.com/videos/",
         "location": "Berlin, Paris, London",
         "link": "https://www.facebook.com/album.php?fbid=10150160810478553&id=19292868552&aid=285301",
         "cover_photo": "10150160811078553",
         "count": 32,
         "type": "normal",
         "created_time": "2011-04-06T23:05:44+0000",
         "updated_time": "2011-04-06T23:33:20+0000",
         "comments": {
         ..... etc ....
Run Code Online (Sandbox Code Playgroud)

选择专辑

对于数据数组中的每个对象,都有一个id和一个名称.使用这两个字段,您可以选择包含所需照片的相册.这一结果的第一张专辑是"将开发者的爱情带到欧洲".让我们看一下这张专辑的照片.

看到照片

如果到目前为止你已经按照了答案,下一步应该是相当明显的.使用您想要的相册的ID,并将照片附加到图表网址:

https://graph.facebook.com/10150160810478553/photos

看到照片的喜欢

就像选择一个专辑一样,只需在上面步骤的输出中使用一个id,然后将喜欢的内容添加到url中以查看喜欢的照片:

https://graph.facebook.com/10150160813853553/likes

输出:

{
   "data": [
      {
         "id": "1163036945",
         "name": "Aditya Pn"
      },
      {
         "id": "1555885347",
         "name": "Nadin M\u00f6ller"
      },
      {
         "id": "100001643068103",
         "name": "Umut Ayg\u00fcn"
      },
      {
         "id": "100000165334510",
         "name": "Alessandra Milfont"
      },
      {
         "id": "100001472353494",
         "name": "Sayer Mohammad Naz"
      },
      {
         "id": "1051008973",
         "name": "Jenson Daniel Chambi"
      },
      {
         "id": "100000233515895",
         "name": "Ruby Atiga"
      },
Run Code Online (Sandbox Code Playgroud)

使用此输出,您可以简单地计算数据数组中的条目数以获得类似的计数.


请注意,所有这一切都可以通过单击输出框和连接侧边栏中的ID 来使用图形资源管理器(除了最后/喜欢的连接,希望很快就会添加.我希望这会有所帮助.另外,你没有需要一个访问令牌来执行任何此操作,因为页面是公共的.希望这有帮助!

  • 我认为如果一个对象有超过25个喜欢,facebook会在页面中返回喜欢的内容,所以我们必须遍历所有这些链接以获得总喜欢.这可能需要很多时间! (4认同)
  • 刚刚发现你可以在URL中添加限制参数,以便在一个响应中获得所有喜欢:https://graph.facebook.com/98423808305/likes?limit = 100000000 (4认同)
  • 但这种反应并不一致.有些ID会将"赞"作为数字返回,但其他ID会将"赞"作为用户列表返回.通过每个实体数百万用户进行计数是不现实的.例如:https://graph.facebook.com/20531316728?fields = likes**"赞":84984656**https://graph.facebook.com/10151255420886749?fields=likes**"喜欢":big-屁股清单** (3认同)
  • 这不应该是公认的答案.Facebook允许喜欢这个领域的".summary(true)".所以做`/ {photo-id}?fields = likes.summary(true)`将返回一个带有字段`.summary.total_count的响应 (3认同)

min*_*naz 6

您可以通过结合使用fields参数来获取评论/喜欢计数而无需对所有喜欢进行分页likes.limit(1).summary(true).例如,下面的披萨搜索api查询将为您提供所有公开帖子及其喜欢的计数总结:

https://graph.facebook.com/search?q=pizza&type=post&fields=id,name,likes.limit(1).summary(true)
Run Code Online (Sandbox Code Playgroud)

结果(截断):

{
  "data": [
    {
      "id": "47883936273_659693910762305", 
      "name": "Instagram", 
      "created_time": "2014-02-16T01:15:29+0000", 
      "likes": {
        "data": [
          {
            "id": "100002243084532", 
            "name": "Yvette Martin"
          }
        ], 
        "paging": {
          "cursors": {
            "after": "MTAwMDAyMjQzMDg0NTMy", 
            "before": "MTAwMDAyMjQzMDg0NTMy"
          }, 
          "next": "https://graph.facebook.com/47883936273_659693910762305/likes?limit=1&summary=1&after=MTAwMDAyMjQzMDg0NTMy"
        }, 
        "summary": {
          "total_count": 13682
        }
      }
    }, 
    {
      "id": "136336876521150_314001148754721", 
      "name": "Pizza Box Turns into Plates & Storage Unit!", 
      "created_time": "2014-02-15T21:20:00+0000", 
      "likes": {
        "data": [
          {
            "id": "100005373008864", 
            "name": "Liliana Campoli"
          }
        ], 
        "paging": {
          "cursors": {
            "after": "MTAwMDA1MzczMDA4ODY0", 
            "before": "MTAwMDA1MzczMDA4ODY0"
          }, 
          "next": "https://graph.facebook.com/136336876521150_314001148754721/likes?limit=1&summary=1&after=MTAwMDA1MzczMDA4ODY0"
        }, 
        "summary": {
          "total_count": 2792
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)