Получить ссылку на пост в Facebook от API

Я пытаюсь получить ссылку на пост в Facebook с помощью вызова API, например:

https://graph.facebook.com/v2.2/807247516000935/posts?access_token={TOKEN}

Для большинства постов я могу создать ссылку с "www.facebook.com/" + item.getId(), но иногда такие ссылки не работают. Есть ли правило, как создать ссылку, которая ВСЕГДА работает? У меня такое ощущение, что большинство неработающих ссылок - это посты, которые содержат ссылку на пост или страницу в Facebook.

Спасибо за вашу помощь!

1 ответ

Решение

Случаи, связанные здесь:

  1. Используя ссылку

    Если вы используете ссылку (www.facebook.com/{POST_ID}), чтобы увидеть сообщение, вы сможете увидеть сообщение, только если настройка конфиденциальности позволяет текущему пользователю видеть сообщение. Например:

    • Если для настройки конфиденциальности установлено значение PUBLIC любой может увидеть пост с этой ссылкой
    • Если для настройки конфиденциальности установлено значение ONLY ME никто не может увидеть пост с этой ссылкой и т.д..
  2. Использование Graph API

    Если сообщение не удалено, вы можете запросить подробности сообщения, используя (graph.facebook.com/{POST_ID}?access_token={ACCESS_TOKEN}) какими бы ни были настройки конфиденциальности.

Примечание. Если сообщение удалено пользователем, очевидно, что вы не получите никаких сведений о нем.


----Редактировать----

Различение между `photos` и`status`/`link`

Когда мы хотим опубликовать ссылку или сообщение о состоянии, Graph API считает это фидом и \POST /feed используется для публикации.

И, если мы хотим опубликовать фото, \POST /photos используется.

НО, если мы хотим получить посты используя \GET /<ID>/feed, это дает нам все сроки сообщения, будь то ссылка или статус или фото.

Теперь, если вы внимательно обратите внимание, у результата кормления есть ключ type, который говорит вам, если это ссылка или статус или фото. Кроме того, если это фотография, API дает вам еще один параметр: object_id который должен быть использован, чтобы получить ссылку на эту фотографию.

Так-

if type="photo"
   link="http://facebook.com/{object_id}"
else
   link="http://facebook.com/{id}"
Другие вопросы по тегам