Подтвердить что ты не робот

API-интерфейс Facebook Graph - получить как количество фотографий на странице/группе

Я тестировал графический API и столкнулся с проблемой. Как я могу получить как подсчет от фотографий страницы/группы?

Я администратор/создатель группы. При входе в https://developers.facebook.com/tools/explorer/ определенный идентификатор фотографии из этой группы он приносит почти все данные, даже комментарии, но не такие как счет. Для той же части ему нужен (согласно документам) токен доступа, несмотря на то, что любой может получить доступ к этой информации.

Как получить токен доступа к моей странице/группе с требуемыми разрешениями и как использовать его для получения информации, в которой я нуждаюсь?

Если возможно, я хотел бы получить JSON с одного адреса, если это возможно.

4b9b3361

Ответ 1

Это возможно со страницей (даже без токена доступа!) и вот как:

Посетите страницу на графике

Получить идентификатор страницы, перейдя на страницу URL:

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

Число в конце URL - это идентификатор страницы. Возьмите этот идентификатор и используйте его с помощью графического проводника (здесь) или просто посетите его .

Посетите альбомы с записями

Теперь добавление альбомов на этот URL даст вам все альбомы, на которых есть страница, включая настенные фотографии:

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 ....

Выбор альбома

Для каждого объекта массива данных существует id и имя. Используя эти два поля, вы можете выбрать альбом, содержащий нужные фотографии. Первым альбомом в этом результате является "Привлечение Операционной любви к Европе". Давайте посмотрим на фотографии этих альбомов.

Просмотр фотографий

Если вы выполнили ответ до этого момента, следующий шаг должен быть достаточно очевиден. Используйте id для желаемого альбома и добавьте фотографии в URL-адрес графика:

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

Просмотр фотографии нравится

Как и в случае выбора альбома, просто используйте идентификатор в выводе вышеописанного шага и добавьте понравится в 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"
      },

Используя этот вывод, вы можете просто подсчитать количество записей в массиве данных, чтобы получить счетчик.


Обратите внимание, что все это можно использовать с помощью проводника диаграмм, нажав на идентификаторы в окне вывода и боковой панели соединений ( кроме для последней/любит соединение, которое, надеюсь, будет добавлено в ближайшее время. Надеюсь, это поможет. Кроме того, вам не нужен токен доступа, чтобы сделать что-либо из этого, потому что страницы являются общедоступными. Надеюсь, это поможет!

Ответ 2

Вы можете получить комментарии/понравившиеся счета без необходимости разбивать страницы на все понравившиеся, используя параметр fields в сочетании с likes.limit(1).summary(true). Например, поисковый запрос api для пиццы ниже даст вам все публичные сообщения и их количество, которое подсчитано:

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

результаты (усеченные):

{
  "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
        }
      }
    }

Ответ 3

/me/feed возвращает поле LIKES

Я использовал решение, в котором я просто нашел количество элементов в массиве, которые отображают LIKES

Object.keys(item.likes.data).length

Это возвращает "длину" объекта, равную количеству понравившихся.

Ответ 4

http://graph.facebook.com/223766074374957

в ответе есть свойство like.

{
   "name": "Bejeweled Blitz",
   "is_published": true,
   "website": "https://apps.facebook.com/bejeweledblitz/",
   "username": "bejeweledblitz",
   "products": "Bejeweled Blitz\nBejeweled\nPlants vs. Zombies\nPeggle\nZuma\nChuzzle\nBookworm Adventures\n \nFor a complete list, please visit www.popcap.com\n ",
   "about": "We're the award-winning hit, Bejeweled Blitz! The lightning-fast puzzle game where you have just 60-seconds to match as many gems as you can! Start Blitzing now!",
   "general_info": "Speed is the name of the game in Bejeweled Blitz! Bejeweled Blitz is a speedier take on the classic Bejeweled match-3 gem game mechanic. Your goal is to make as many matches as you can in 60-seconds to really make your score soar! But you won't be going it alone! There are special ways to enhance your Bejeweled Blitz game - like Boosts (power-ups like Scrambler, which moves all the gems around the board or +5 seconds, to add 5 seconds more gem-matching time!) and the popular, Rare Gems. Rare Gems are like extra-special power-ups that can REALLY take your game to the next level!",
   "talking_about_count": 22487,
   "category": "App page",
   "id": "223766074374957",
   "link": "https://www.facebook.com/bejeweledblitz",
   "likes": 5796324,
   "cover": {
      "cover_id": 383412771743619,
      "source": "http://sphotos-c.ak.fbcdn.net/hphotos-ak-ash4/s720x720/417018_383412771743619_1056862875_n.jpg",
      "offset_y": 0
   }
}