Я пытаюсь получить URL-адрес вложения изображения, опубликованного на странице facebook. Цель состоит в том, чтобы встроить этот образ в веб-страницу, чтобы веб-сайт всегда отображал последнее прикрепленное изображение, опубликованное на странице. У меня есть сайт и страница FB.Facebook Graph API получить вложения в сообщения страницы
Я еще не понял все подробности о работе с Facebook Graph API, но вот то, что я сделал до сих пор:
1) в FB сайте разработчиков, я создал приложение, получить его идентификатор приложения и секрет ;
2) Я использовал эту информацию, чтобы получить маркер доступа (только вставленный в браузере следующий код:
https://graph.facebook.com/oauth/access_token?client_id={my-client-id}&client_secret={my-client-secret}&grant_type=client_credentials
3) на моем сайте, я загрузил Facebook JS SDK после тега тела; и получил также мой идентификатор страницы Facebook от администрации страницы Facebook;
4) теперь возникает реальный вопрос: как я могу запросить Facebook для получения необходимой мне информации - исходного URL-адреса последнего опубликованного изображения?
Лучший результат я получил до сих пор было, сделав getJSON вызов с помощью JQuery:
var fbfeed = $j.getJSON('https://graph.facebook.com/{my-page-id}/feed?access_token={my-token}&fields=attachments&limit=1');
Это будет получать и хранить массив JSON в fbfeed переменной (пожалуйста, поправьте меня, если я неверно). Один из ключей этого массива называется «src», который содержит исходный URL-адрес вложения - информацию, которую мне нужно встроить в мой сайт;
У меня есть следующие проблемы/проблемы: - Я не нашел способ получить значение ключа «url» - как я могу это сделать? Как я могу проанализировать переменную fbfeed и извлечь значение ключа «url»?
- У меня есть проблемы с моим использованием маркера доступа:
это проблематично выставить маркер доступа таким образом, используя его в функцию JQuery? Это риск для безопасности? Если да, могу ли я «имитировать» этот запрос, но используя серверный язык, такой как PHP?
Срок действия этого токена доступа истекает (т. Е. Будет ли я время от времени повторять шаг 2?). Итак, воображая, что я могу заставить это работать, мне нужно время от времени «обновлять» токен доступа?
Благодарим за помощь.
Да, токен доступа не должен подвергаться в клиентском коде таким образом; Если вы хотите сделать это только на стороне клиента, вы должны позволить пользователю входа в систему войти в ваше приложение, чтобы вы могли использовать свой токен доступа. И, конечно же, вы можете сделать этот запрос и на стороне сервера. // Точки доступа пользователя могут быть продлены до 60 дней, после чего вам придется его обновить. Лучше использовать токен доступа к странице. (Этот, опять же, конечно, не будет принадлежать ни одному клиентскому коду.) – CBroe