Я много раз искал, и я нашел устаревшие учебники, которые не работают …
У меня есть сайт, созданный с помощью PHP, и когда я отправляю определенную форму в свою область администратора, я хочу опубликовать на своей странице «fan fan» на Facebook,
RSS недоступен, так что у вас есть какой-либо пример для прямой публикации на странице фан-сайта Facebook (а не на стене пользователя) с помощью php sdk?
Спасибо!
Наконец, после множества тестов он работал без PHP SDK. Это пошаговое руководство:
1. Получить разрешения и токен страницы.
Перейдите в https://developers.facebook.com/tools/explorer/ и выберите свое приложение из первого выпадающего меню слева.
Нажмите кнопку «Получить токен доступа», а в окне «Выбрать разрешения» нажмите «Расширенные разрешения» и установите флажок «manage_pages» и «Публикация» и нажмите «Синяя кнопка« Получить доступ ».
На этом шаге вас могут попросить предоставить разрешения вашему приложению для доступа к вашей учетной записи Facebook, принять.
Затем нажмите в конце текстового поля рядом с раскрывающимся списком «GET» и замените номера для: me / accounts и нажмите синюю кнопку рядом с этим текстовым полем.
Вы получите маркеры для всех своих страниц, включая страницу своего приложения. Найдите название своей страницы в списке, будет выглядеть так: «name»: «Ваше имя страницы»
Когда вы разместите свою страницу, скопируйте токен доступа для страницы (будет очень длинным), это может выглядеть так: «access_token»: «XXXXXXXX» . Также скопируйте идентификатор страницы: « id»: «XXXXX» .
Вот и все для этого шага, теперь мы можем начать кодирование.
2. Опубликуйте свою страницу на стене через PHP
Во-первых, для этого скрипта вам понадобится сервер, поддерживающий завиток.
Мы начинаем PHP-документ, определяющий токен доступа к странице и идентификатор страницы, который мы получаем на первом шаге:
<?php $page_access_token = 'XXXXXXX'; $page_id = 'YYYYYYYY';
После этого мы создаем массив с информацией для публикации на нашей странице:
$data['picture'] = "http://img.ruphp.com/php/image.jpg"; $data['link'] = "http://www.example.com/"; $data['message'] = "Your message"; $data['caption'] = "Caption"; $data['description'] = "Description";
Вы можете, конечно, использовать любой другой параметр post, описанный в https://developers.facebook.com/docs/reference/api/post/, и если вам не нужен один или несколько параметров выше, вы можете просто удалить его.
Итак, в этот момент мы добавляем к массиву токен доступа:
$data['access_token'] = $page_access_token;
И мы установили наш URL-адрес для публикации на нашей странице:
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';
И последний шаг, мы будем использовать завиток, чтобы опубликовать наше сообщение в нашей стене страницы:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $post_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $return = curl_exec($ch); curl_close($ch); ?>
После этого мы сможем сохранить наш PHP-документ и попытаемся его выполнить. Сообщение может появиться на нашей странице в Facebook.
Надеюсь, этот код поможет другим людям с той же проблемой!
Вы можете тестировать токены, используя отладчик токена доступа к Facebook
Рабочее решение для API v.2.5
code
для app_id
качестве параметра response_uri
https://www.facebook.com/dialog/oauth?client_id=".$app_id."&redirect_uri=".$response_uri."&response_type=code&scope=manage_pages,publish_pages
access_token
на основе code
, app_id
и app_secret
в результате response_uri
https://graph.facebook.com/oauth/access_token?grant_type=authorization_code&client_id=".$app_id."&client_secret=".$app_secret."&code=".$code."&redirect_uri=".$response_uri
page_access_token
для page_id
на основе access_token
https://graph.facebook.com/v2.5/".$page_id."?fields=access_token&access_token=".$access_token
Вот ресурс, который вы ищете . Прокрутите Page Login
вниз до Page Login
в Page Login
и прочитайте оттуда. Вы должны получить токен доступа для своей страницы, а затем использовать этот токен при публикации. Предполагается, что вы хотите, чтобы ваше сообщение появилось «со страницы». IE – размещение, как если бы вы были страницей.
фактический вызов графика api для создания объекта post и его выполнение можно найти на этом URL-адресе из документации на facebook.
В качестве дополнения к nmarti ответ. Действует для API v.2.4.
Если вы не хотите идти в консоль Facebook API, скорее, вызовы API, есть несколько инструкций.
Прежде всего, у вас должен быть пользователь Facebook, являющийся администратором на странице, которую вы хотите опубликовать, также вам нужно создать приложение Facebook, чтобы продолжить.
В ответ вы должны получить% user-token%, сохранить его, вам понадобится следующий шаг.
Прочитайте больше
Теперь у вас будет% long-living-token%, необходимое для получения долговечного токена страницы.
Прочитайте больше
https://graph.facebook.com/v2.4/%page-admin-user-id%/accounts/?access_token=%long-lived-token%
Найдите в списке свою страницу и токен страницы, теперь вы можете продолжить публикацию на странице с использованием примера nmarti.
Также Facebook говорит:
Результирующий токен доступа к странице не будет иметь никакого срока действия.
Прочитайте больше