2015-10-09 4 views
12

Используя API графиков FB, можно ли проверить, является ли сообщение общедоступным, как этот? https://www.facebook.com/alexey.kosov/posts/10203624447732200Facebook API: Получить общий идентификатор сообщения

И как получить исходный идентификатор сообщения?

+0

Прогресс по вашему вопросу? У меня также есть идентификатор сообщения, который включает общий/оригинальный пост, и мне нужно знать ответ на ваш вопрос +, как получить общий/оригинальный идентификатор сообщения. –

+0

Вы проверили этот пост? http://stackoverflow.com/questions/7674677/how-to-check-if-someone-shared-my-pages-post-using-facebook-api – mcphersonjr

ответ

5

В вашем URL https://www.facebook.com/alexey.kosov/posts/10203624447732200 10203624447732200 - ваш идентификатор публичного сообщения. С API v2.0 вы можете получить общие сообщения с краем sharedposts: https://developers.facebook.com/docs/graph-api/reference/v2.0/object/sharedposts

Согласно документации по версии 2.0:

Для сообщений страниц, общественных постов на странице являются извлекаемым с любым действительным токеном доступа. Сообщения людей на странице, сообщения людей, которые упоминают страницу, или целевые сообщения на странице (например, по языку или географии), могут потребовать токена пользователя или страницы. Маркеру доступа пользователя с read_stream или user_posts permission для любых других сообщений

Так что вам нужна фишка с одним из двух разрешений.

Я пытался получить долю из вашего поста: https://developers.facebook.com/tools/explorer/?method=GET&path=10203624447732200%2Fsharedposts&version=v2.0

И вернула меня {"data": []}, однако после того, как я разделил пост, я повторил вызов, и я был в состоянии увидеть пост, который я только совместно в Результаты.

Теперь, если я использую post_id, который я только что использовал, я получаю снова пустой результат. Таким образом, вы можете видеть только, кто поделился этой записью, но нет, если она была передана кому-то другому. Если вы считаете, что общие сообщения в качестве узлов дерева, вы можете видеть только, что происходит в поддереве под узлом с post_id, который у вас есть.

Вам также необходимо учитывать, что вы не сможете получить повторно размещенные сообщения, которые не видны вам. i.e .: Если я разделяю ваше сообщение с конфиденциальностью «Только я», или если я делюсь с конфиденциальностью «Друзья», и мы не друзья, вы не сможете это увидеть.

+0

Спасибо, я подтвердил, что вы сказали с тестом, но все же: Q1: как я могу узнать, есть ли ссылка, которую у меня есть, ссылку на исходное сообщение или ссылку на общий пост? 2- Если нет прямого способа решения Q1, я могу получить полученную ошибку (сингулярные запросы обесцениваются ....), что в основном указывает на то, что это общая почтовая ссылка, но как я могу получить исходный идентификатор сообщения из общей ссылки или общего сообщения (И у меня есть оба). –

+0

Надеюсь, у вас может быть больше советов, чтобы поделиться этим вопросом, спасибо :) –

+0

Вы получаете '(# 12) исключительные статусы API устарел для версий v2.4 и выше', если вы используете v2.4 или v.2.5 API. Если вы используете v2.0 - v.2.3, это не даст вам этого сообщения. Вы можете ходить по древу общей статьи только сверху вниз. Вы можете только проверить, является ли сообщение доступным из другого сообщения, если у вас есть родитель, но насколько я знаю, нет способа найти родителя у ребенка. –

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