Простой пример для публикации на странице фан-сайта Facebook через PHP?
Я много раз искал, и я нашел устаревшие учебники, которые не работают...
У меня есть сайт, созданный с помощью PHP, и когда я отправляю конкретную форму в моей области администратора, я хочу опубликовать на своей странице "fan" Facebook.
Нет доступных RSS, поэтому у вас есть какой-либо пример для прямой публикации на странице поклонника Facebook (а не на стене пользователя) с помощью php sdk?
Спасибо!
Ответы
Ответ 1
Наконец, после множества тестов он работал без PHP SDK. Это пошаговое руководство:
1. Получить разрешения и токен страницы
Перейдите в https://developers.facebook.com/tools/explorer/ и выберите свое приложение из первого выпадающего меню слева.
Нажмите кнопку "Получить токен доступа", а в окне "Разрешить разрешения" нажмите "Расширенные разрешения" и установите флажок "manage_pages" и "Публикация" и нажмите "Синяя кнопка" Получить доступ ".
На этом шаге вас могут попросить предоставить разрешения вашему приложению для доступа к вашей учетной записи Facebook, принять.
Затем нажмите в конце текстового поля рядом с раскрывающимся списком "GET" и замените номера для: me/accounts и нажмите синюю кнопку рядом с этим текстовым полем.
Вы получите маркеры для всех ваших страниц, включая страницу своего приложения. Найдите название своей страницы в списке, будет выглядеть так: "name": "Ваше имя страницы"
Когда вы разместите свою страницу, скопируйте токен доступа для страницы (будет очень длинным), который может выглядеть так: "access_token": "XXXXXXXX". Также скопируйте идентификатор страницы: "id": "XXXXX".
Что все для этого шага, мы можем начать кодирование сейчас.
2. Опубликуйте страницу на странице через PHP
Во-первых, для этого script вам понадобится сервер, поддерживающий завиток.
Мы начинаем PHP-документ, определяющий токен доступа к странице и идентификатор страницы, который мы получаем на первом этапе:
<?php
$page_access_token = 'XXXXXXX';
$page_id = 'YYYYYYYY';
После этого мы создаем массив с информацией для публикации на нашей странице:
$data['picture'] = "http://www.example.com/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.
Надеюсь, этот код поможет другим людям с одинаковой проблемой!
Ответ 2
Вы можете тестировать токены, используя
Отправитель-ответчик токена 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
Ответ 3
Вот ресурс, который вы ищете. Прокрутите вниз до Page Login
и прочитайте оттуда.
Вы должны получить токен доступа для своей страницы, а затем использовать этот токен при публикации. Предполагается, что вы хотите, чтобы ваше сообщение появилось "со страницы". IE - размещение, как будто вы были страницей.
фактический вызов графика api для создания объекта post и его выполнение можно найти в этот URL из facebook документация.
Ответ 4
В дополнение к ответу nmarti. Действительно для API v.2.4.
Если вы не хотите идти в консоль Facebook API, скорее выполняете вызовы API, есть несколько инструкций.
Прежде всего, у вас должен быть пользователь Facebook, являющийся администратором на странице, которую вы хотите опубликовать, также вам нужно создать приложение Facebook, чтобы продолжить.
- Введите запрос на вход, чтобы получить токен пользователя:
https://www.facebook.com/dialog/oauth?client_id=%app-id%&redirect_uri=%your-site-url%&response_type=token&scope=manage_pages,publish_pages
В ответ вы должны получить% user-token%, сохранить его, вам понадобится следующий шаг.
Подробнее
- Запросите долгоживущий токен:
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=%app-id%&client_secret=%app-secret%&fb_exchange_token=%user-token%
Теперь у вас будет% long-living-token%, необходимое для получения долговечного токена страницы.
Подробнее
- Теперь, получите список ваших страниц Facebook,
https://graph.facebook.com/v2.4/%page-admin-user-id%/accounts/?access_token=%long-lived-token%
Найдите в списке свою страницу и токен страницы, теперь вы можете продолжить публикацию на странице с использованием примера nmarti.
Также Facebook говорит:
Результирующий токен доступа к странице не будет иметь никакого срока действия.
Подробнее