Подтвердить что ты не робот

Простой пример для публикации на странице фан-сайта Facebook через PHP?

Я много раз искал, и я нашел устаревшие учебники, которые не работают...

У меня есть сайт, созданный с помощью PHP, и когда я отправляю конкретную форму в моей области администратора, я хочу опубликовать на своей странице "fan" Facebook.

Нет доступных RSS, поэтому у вас есть какой-либо пример для прямой публикации на странице поклонника Facebook (а не на стене пользователя) с помощью php sdk?

Спасибо!

4b9b3361

Ответ 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

  1. Получите 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

  1. Никогда не истекайте 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%, сохранить его, вам понадобится следующий шаг.

Подробнее

  1. Запросите долгоживущий токен:

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%, необходимое для получения долговечного токена страницы.

Подробнее

  1. Теперь, получите список ваших страниц Facebook,

https://graph.facebook.com/v2.4/%page-admin-user-id%/accounts/?access_token=%long-lived-token%

Найдите в списке свою страницу и токен страницы, теперь вы можете продолжить публикацию на странице с использованием примера nmarti.

Также Facebook говорит:

Результирующий токен доступа к странице не будет иметь никакого срока действия.

Подробнее