Как получить фотографии пользователя с количеством лайков/комментариев, graph api v2.2

В моем приложении я получаю фотографии пользователя из Facebook, используя запрос графического API. Для этого я делаю этот запрос:

 //Graph API request

 me?fields=photos{album{id},id,from{id},name,created_time,place{id},comments{comment_count},likes,tags{id}}

Это дает мне все фотографии с комментариями / лайками фотографий, но не количество комментариев / лайков. Данные о лайках/комментариях представляют собой массив с разбивкой по страницам, поэтому количество не может быть определено по длине массива. Чтобы получить количество лайков/комментариев, мне нужно сделать еще один пакетный запрос для каждого идентификатора фотообъекта.

 {photo-object-id}/likes?summary=true

Используя FQL, это было возможно в одном запросе. Есть ли способ получить желаемый результат из одного запроса, используя граф API v2.2.

Спасибо.


person durgesh.patle    schedule 13.03.2015    source источник


Ответы (1)


Попробуйте этот запрос:

/me?fields=photos{album{id},id,from{id},name,created_time,place{id},
  comments.summary(1),likes.summary(1),tags{id}}

summary необходимо установить на 1, чтобы получить данные summary -> total_count.

Если бы вы запрашивали комментарии через комментарии edge, то синтаксис был бы /{object-id}/comments?summary=1, но для используемого вами синтаксиса расширения поля необходимо использовать comments.summary(1), чтобы указать, что вы хотите summary для комментариев ( и за лайки тоже)

person CBroe    schedule 14.03.2015
comment
Как будет выглядеть конечный URL-адрес, на самом деле неясно, как указать сводку как 1 в URL-адресе. - person Shajeel Afzal; 05.09.2015
comment
@ Шажил, что конкретно непонятно? Конечный URL чего именно? - person CBroe; 06.09.2015
comment
Например, я получаю комментарии, выполняя GET на 'graph.facebook.com/cokestudio /' с использованием Java, как нужно будет изменить URL-адрес, чтобы он мог отправлять количество комментариев. Спасибо. - person Shajeel Afzal; 06.09.2015
comment
Ну точно так же, как я писал выше, …?fields=comments.summary(1) И если вас интересует не содержание каких-либо отдельных комментариев, а только общее количество, то вы можете добавить limit=0, что в синтаксисе расширения поля будет …?fields=comments.limit(0).summary(1) - person CBroe; 06.09.2015
comment
Извините, это не работает, поля, которые я получаю в ответ, data и paging. - person Shajeel Afzal; 06.09.2015
comment
Я бы порекомендовал вам использовать Graph API Explorer, чтобы сначала убедиться, что вы получаете правильный запрос — если он работает там, но не когда вы делаете запрос из своей среды Java, тогда вам нужно искать ошибку в последний. - person CBroe; 06.09.2015