Как показать фидбэки с моего сайта без access_token? - PullRequest
3 голосов
/ 12 марта 2012

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

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

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

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

Ответы [ 5 ]

4 голосов
/ 12 марта 2012

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

Чтобы решить вашу проблему - создайте серверный скрипт, который обращается к этому каналу и отображает его. Если этот канал со страницы 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 меняет структуру своего объекта, вам нужно будет изменить этот код.
3 голосов
/ 02 мая 2013

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

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

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

2 голосов
/ 20 августа 2013

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

Я разрабатывал плагин для внутренней CMS, который должен был получать фейсбук прямо с 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.

1 голос
/ 28 октября 2015

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

1 голос
/ 07 мая 2013

делает это в приложении Windows 8 Store, похоже, это работает

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...