Получить статус Facebook с фан-страницы, используя API - PullRequest
4 голосов
/ 28 июня 2010

Я уже некоторое время пытаюсь получить самый последний статус Facebook для фан-страницы через API и, похоже, не могу получить то, что мне нужно.Я действительно пытаюсь избежать использования RSS для этого.Я могу получить полный список из ленты через https://graph.facebook.com/174690270761/feed, но мне нужен только последний статус, опубликованный администратором страницы, а не кем-либо еще.

Это простой способ получить его, не имеяаутентифицироваться?

Заранее спасибо

edit: https://graph.facebook.com/174690270761/statuses, кажется, то, что я ищу, но мне нужен OAuthAccessToken для этого, но я могуне вижу, как без участия пользователя, так как я пытаюсь получить доступ через мои собственные учетные данные / приложение

Ответы [ 3 ]

13 голосов
/ 13 июня 2012

Facebook изменил API и теперь требует от вас предоставить токен доступа.Вы можете использовать Facebooks sdk PHP для этого, но я нашел гораздо более быстрый путь:

<?
$appid = '1234567890';
$secret = 'db19c5379c7d5b0c79c7f05dd46da66c';
$pageid = 'Google';

$token = file_get_contents('https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id='.$appid.'&client_secret='.$secret);
$feed = file_get_contents('https://graph.facebook.com/'.$pageid.'/feed&'.$token);

print_r(json_decode($feed));
?>

Обновление 15/12/12 токенов доступа к приложению теперь без идентификатора и секрета - используйте этот запрос:

$feed = file_get_contents('https://graph.facebook.com/Saxity/feed?access_token='.$appid.'|'.$secret);
2 голосов
/ 05 августа 2010

Я наконец-то обнаружил, что это не нужно делать через API или вообще требовать какой-либо аутентификации.

По сути, вы можете получить доступ к данным через канал JSON:

$pageID = "ID of Page" //supply the Id of the fan page you want to access
$url = "https://graph.facebook.com/". $pageID ."/feed";
$json = file_get_contents($url);
$jsonData = json_decode($json);

foreach($jsonData->data as $val) {
    if($val->from->id == $pageID) { //find the first matching post/status by a fan page admin
        $message = $val->message;
        echo $message;
        break; //stop looping on most recent status posted by page admin
    }
}
1 голос
/ 28 июня 2010

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

https://graph.facebook.com/174690270761/feed?since=last%20Monday

Вы также можете использовать ограничение на это, но я не думаю, что фильтры по пользователям. Если администратор является единственным, кому разрешено публиковать сообщения, то вы можете избежать использования лимита = 1.

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