2013-04-03 1 views

ответ

5

Да. Вы можете запросить каждый объект comment в Graph API для значения своего поля parent. Если рассматриваемый комментарий является ответом, то значение поля parent будет ссылкой на родительский комментарий. В противном случае значение не возвращается.

Ссылка здесь: https://developers.facebook.com/docs/reference/api/Comment/

+2

Кажется, что API Facebook был изменен за последние несколько дней, я больше не могу получать ответы на комментарии в том же месте, где я бы получил комментарии к сообщению. Теперь я должен отправить отдельный запрос в//комментарии, чтобы получить ответы. Мне понравился старый способ лучше, если бы они могли просто добавить родительский идентификатор прямо там. Но о хорошо ... – Roozbeh15

+2

Это смешно, что я должен запросить каждый комментарий, чтобы узнать, есть ли его ответ или нет, почему они не могут просто включить «родительское» значение в '/ comments' api непосредственно? – Osa

12

Вы должны сначала включить July Breaking Changes из приложения дополнительных настроек

Затем используйте параметр fields с comments графа API и включают parent.field(id) колонку с, а также параметр filter с значение stream. конечный результат:

{POST_ID}/comments?filter=stream&fields=parent.fields(id),message,from,likes 

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

- обновление

и для лучшего расположения массива для ответов вы можете использовать следующие для объединения ответов с фактическим массивом комментариев, который вы можете включить comments.summary(true) в полях параметр

{POST_ID}/comments?limit=0&filter=toplevel&fields=comments.summary(true),message,from,likes 

параметр фильтра не является обязательным

для получения дополнительной информации о полях: http://developers.facebook.com/docs/reference/api/Comment/

и в случае, если вы хотите сделать это в FQL, проверьте комментарии этого Поста http://developers.facebook.com/blog/post/2013/04/03/new-apis-for-comment-replies/

+0

Я думаю, что это правильный ответ. –

+0

Обновленная версия этого отлично работает, хотя мне пришлось вынуть 'limit = 0' – Gav

3

Вы можете получить комментарий ответы в этом случае.

/{{POST_ID}}/?fields=comments{comments}&access_token={{ACCESS_TOKEN}} 

Вы можете получить любую суб информацию (от, ид) из комментариев ответы на только вложенности полей внутри комментариев, как это:

/{{POST_ID}}/?fields=comments{comments,from,id}&access_token={{ACCESS_TOKEN}} 

Аналогичная запись над здесь: https://stackoverflow.com/a/37743410/6001533

-1

К поросенок Откажитесь от ответа @ sujit. Я взял его ответ и одним звонком из фида вы можете получить весь фид, комментарии и ответы на комментарии, а также связанные изображения с этими комментариями и ответами одним выстрелом.

Вот код

https://graph.facebook.com/$get_facebook/feed?access_token=$facebook_accesstoken&client_id=$facebook_appid&client_secret=$facebook_appsecret&metadata=1&fields=id,status_type,created_time,from,message,comments{comments{attachment,from,id,message},from,id,message,attachment},picture,link,icon 
0

Если вы слушаете для комментариев на «подачи» webhook, вы должны проверить, если:

entry[0][changes][0][value][post_id] === entry[0][changes][0][value][parent_id] 

Это будет справедливо и для верхнего уровня (новые) комментарии и false для ответов на комментарии.

Смежные вопросы