Intereting Posts
AFNetworking 2.0 POST, ошибка Cocoa 3840 (текст JSON не начинался с массива …) Определение внешних ключей Laravel с фабриками моделей, от одного до одного и от одного до многих отношений без создания ненужных моделей PHP: как очистить содержимое веб-сайта на основе Javascript Сортировка массивов в многомерный массив с помощью ключа Как я могу использовать отражение PHP для установки статического свойства? Проверка MediaWiki с учетными данными домена Windows Значение карты для цветовой шкалы MySQL: запрос на создание объекта JSON с массивом Сохранение файла cookie после запроса ajax для междоменного доступа Создание файла xls из соответствующего xml Использование массивов VS-объектов для хранения данных Когда добавлять скобки после нового имени класса? отправить электронное письмо с вложением в формате pdf Как получить изображения, перечисленные в комплекте соната Номер строки журнала выполненного кода Java

Как показывать сообщения на фейсбуке с моего сайта без access_token?

У меня есть сайт facebook (сайт, а не стена профиля) и вы хотите отобразить канал сообщения на веб-странице. Это уже отлично работает, если я использую

https://graph.facebook.com/177610425663218/feed 

Но для этого мне нужен access_token. С помощью Graph Explorer я могу создать временный токен.

Я знаю, что могу создать OAuth, но я не хочу, чтобы каждый посетитель моей веб-страницы заходил в facebook, чтобы видеть каналы. Должен быть другой способ … Возможно, используя PHP вместо Javascript?

Я не думаю, что вы можете сделать это без токена доступа, но проверьте мой ответ здесь, чтобы получить подробные инструкции по его получению и получить нужный канал.

https://developers.facebook.com/docs/plugins/ предоставляет список всех плагинов, которые вы можете вставлять. Однако это не работает, если вы хотите отображать фид для пользователей, не входящих в систему.

Чтобы решить вашу проблему, у вас есть сценарий на стороне сервера, который обращается к этому каналу и отображает его. Если этот канал находится на странице FB, вам понадобится токен доступа с разрешениями «manage_pages». Используя это, вы можете получить содержимое, используя следующий (PHP) код:

 $response=file_get_contents("https://graph.facebook.com/".$id."/feed&access_token=".$facebook_access_token); $response_array=json_decode($response,true); // $id: Page ID 

Вы также можете настроить этот запрос, добавив параметры разбивки на страницы, например, с, ограничение, до и т. Д. Для получения документации см. https://developers.facebook.com/docs/reference/api/ .

Такой подход позволяет использовать следующие преимущества:

  • Ваш токен доступа безопасен на вашем сервере и не отображается для общего доступа.
  • Ваш фид можно увидеть даже не зарегистрированным пользователем.
  • Вы можете настроить внешний вид вашего фида, поскольку вы управляете пользовательским интерфейсом.

Недостатки:

  • Вам необходимо кодировать и активно поддерживать кусок кода, который ничего не делает, кроме как действовать как прокси. Каждый раз, когда FB изменяет структуру своего объекта, вам нужно будет изменить этот код.

Вы можете использовать https://www.facebook.com/feeds/page.php?id=<your-page-id>&format=json Это возвращает объект json и не требует токена доступа.

Вы также можете использовать разные форматы, такие как xml и rss20.

Надеюсь это поможет.

Хотя на этот вопрос уже был дан ответ. Надеюсь, это поможет кому-то другому.

Я разрабатываю плагин для внутренней CMS, который должен был вытащить прямую ссылку в facebook прямо из URL-адреса пользователей. Это то, чем я закончил.

 $url = 'url_pulled_from_database'; $url = str_replace('http://www.', 'http://graph.', $url); $get_id = file_get_contents($url); $get_id = json_decode($get_id, true); $fbID = $get_id['id']; //THEN CALL THE FUNCTION fb_parse_feed($fbID, $maxnumber); 

Я не могу взять кредит за функцию fb_parse_feed, но вы можете найти его здесь https://gist.github.com/banago/3864515

После внедрения он работал как шарм на любой публичной странице, просто используя URL-адрес.

делая это в приложении для магазина Windows 8, похоже, это работает

url = " https://graph.facebook.com/me?fields=feed&access_token= " + fbtoken;