Разместить на странице в фейсбуке как страницу - PullRequest
5 голосов
/ 20 февраля 2012

Я хочу опубликовать в фейсбуке страницу как страницу с использованием PHP. У меня есть access_token по ссылкам ниже.

https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=123456789&redirect_uri=http%3A%2F%2Fmysite.net&scope=publish_stream,manage_pages,offline_access
https://graph.facebook.com/me/accounts?access_token=...

Я использую этот простой код:

$appid        = "";
$secret       = "";
$pageid       = "";
$access_token = "";

require_once("facebook-php-sdk/src/facebook.php");

$facebook = new Facebook(array(
  'appId'  => $appid,
  'secret' => $secret
));

try {
    $args = array(
        'access_token' => $access_token,
        'message'      => 'Test', 
        'link'         => 'http://www.test.com',
        'description'  => 'Test'
    );

    $post_id = $facebook->api("/$pageid/feed","post",$args);

} catch (FacebookApiException $e) {
    error_log($e);
}

И вот ошибка, которую я получаю:

OAuthException: (#200) Posts where the actor is a page cannot also include a target_id 

Но публикация / me / feed тоже не будет работать. Все решения, которые я нашел, больше не работают, официальная документация не помогла. Я получил его, работая при публикации как пользователь (не страница) и с javascript api (обязательное действие щелчка «поделиться» пользователем).

Кто-нибудь знает решение для автоматической публикации на странице fb в виде страницы? Потратил пару разочаровывающих дней, пытаясь понять это -_-

Спасибо

A.

Ответы [ 3 ]

6 голосов
/ 29 октября 2015

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

5 голосов
/ 20 февраля 2012

Страницы не могут публиковать сообщения на стенах пользователя (поэтому вы получаете OAuthException с надписью "как страница, вы не можете установить target_id"). Сначала вам нужно будет создать приложение и получить разрешение пользователя (publish_stream) на публикацию в своем фиде через указанное приложение.

3 голосов
/ 20 февраля 2012

Я предполагаю, что у вас есть некоторые знания о приложении и о том, как работает публикация.

1.Вы должны получить токен доступа к странице и использовать его в массиве.

2.вы используете это

"/$pageid/feed"

попробуйте использовать это

$facebook->api($pageID . '/feed','POST'

Спасибо ...

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