Получить ссылку на пост в Facebook от API
Я пытаюсь получить ссылку на пост в Facebook с помощью вызова API, например:
https://graph.facebook.com/v2.2/807247516000935/posts?access_token={TOKEN}
Для большинства постов я могу создать ссылку с "www.facebook.com/" + item.getId()
, но иногда такие ссылки не работают. Есть ли правило, как создать ссылку, которая ВСЕГДА работает? У меня такое ощущение, что большинство неработающих ссылок - это посты, которые содержат ссылку на пост или страницу в Facebook.
Спасибо за вашу помощь!
1 ответ
Случаи, связанные здесь:
Используя ссылку
Если вы используете ссылку (
www.facebook.com/{POST_ID}
), чтобы увидеть сообщение, вы сможете увидеть сообщение, только если настройка конфиденциальности позволяет текущему пользователю видеть сообщение. Например:- Если для настройки конфиденциальности установлено значение
PUBLIC
любой может увидеть пост с этой ссылкой - Если для настройки конфиденциальности установлено значение
ONLY ME
никто не может увидеть пост с этой ссылкой и т.д..
- Если для настройки конфиденциальности установлено значение
Использование 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}"