Инструкция как получить бессрочный access token, запросы к Graph API, отправка сообщения на стену FB.
Создаем приложение на странице https://developers.facebook.com/apps/
Важно в разделе «проверка приложения» сделать приложение доступным для всех, иначе публикации не будут видны пользователям.
Получаем бессрочный access_token
1. Переходим на https://developers.facebook.com/tools/explorer/
2. В выпадающем меню «Приложение» выбираем свое приложение.
3. Ниже в меню «Get Token» выбираем «Get Page Access Token», появится окно подтверждения прав, жмем «ок».
4. В этом же меню появится новый пункт с названием страницы (Маркеры доступа на Страницу), выбираем его.
5. После чего появится новый пункт «Request publish_pages», жмем его и опять подтверждаем права.
6. Ниже кнопка «Submit».
7. В правой части в «Search for a field» добавляем access_token и снова «Submit». В ответе будет ID страницы и токен.
8. Копируем полученный токен. У него время действия всего час. Страницу не закрываем!
9. Переходим на https://developers.facebook.com/tools/debug/accesstoken и вставляем скопированный токен в поле, жмем «Debug», ниже жмем кнопку «Extend Access Token» и вводим пароль, после этого появится новый токен сроком уже на 60 дней, копируем его.
10. Возвращаемся на https://developers.facebook.com/tools/explorer/ и вставляем скопированный токен в поле «Маркер доступа», жмем «Submit». В ответе будет новый токен без ограничений по времени, его будем использовать при запросах к API.
Метод feed
Публикация ссылки на страницу сайта.
[bash title=»код»]$page_id = 'ID_СТРАНИЦЫ';
$data = array(
'access_token' => 'ACCESS_TOKEN',
'message' => 'Hello, world!',
'link' => 'http://snipp.ru/',
'name' => 'Анкор',
'picture' => 'http://snipp.ru/logo.png'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/' . $page_id . '/feed');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
$res = json_decode($res, true);
var_dump($res);
[/bash]
Метод photos
Публикация изображения с текстом.
[bash title="код"]$page_id = 'ID_СТРАНИЦЫ';
$data = array(
'access_token' => 'ACCESS_TOKEN',
'caption' => 'Hello, world!',
'url' => 'http://snipp.ru/logo.png'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/' . $page_id . '/photos');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
$res = json_decode($res, true);
var_dump($res);[/bash]