Я хочу публиковать сообщения на своем сайте - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть приложение в Facebook, и между php sdk я могу опубликовать статью моего сайта в моем профиле.

Теперь я хочу опубликовать свою статью на своей фан-странице, а не в моем prfile. как я могу это сделать?

Это код, который я использую, мало чем отличающийся от примера разработчиков на Facebook:

<code>    // Remember to copy files from the SDK's src/ directory to a
  // directory in your application on the server, such as php-sdk/
  require_once('facebook.php');


  $config = array(
    'appId' => 'xxxxxxxxxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxxx',

  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();


?>


  <?
    if($user_id) {

      // We have a user ID, so probably a logged in user.
      // If not, we'll get an exception, which we handle below.
      try {
        $access_token = $facebook->getAccessToken();  
        $page_id='xxxxxxxxxxxxxx';   
        $ret_obj = $facebook->api('/me/feed', 'POST',
                                    array(
                                      'link' => $link,
                                      'message' => $titolo,
                                      'picture' => 'http://xxxxxxxxxxxxxxxxxx',
                                      'name' => 'Ecosport',
                                      'access_token' => $access_token
                                 ));
        echo '<pre>Post ID: ' . $ret_obj['id'] . '
'; } catch (FacebookApiException $ e) { // Если пользователь вышел из системы, вы можете иметь // идентификатор пользователя, хотя токен доступа недействителен. // В этом случае мы получим исключение, поэтому мы // просто попросите пользователя войти снова здесь. $ login_url = $ facebook-> getLoginUrl (массив ( 'scope' => 'publish_stream' )); заголовок ( "место: $ login_url"); error_log ($ e-> GetType ()); error_log ($ e-> GetMessage ()); } // Предоставляем пользователю ссылку для выхода $ Id_articolo = $ _ GET [ 'id_articolo']; заголовок ( "место: XXXXXXXXXX"); / * echo '
getLogoutUrl() . '"> logout '; * / } еще { // Нет пользователя, поэтому выводим ссылку для входа пользователя // Для публикации на стене пользователя нам нужно разрешение publish_stream // Мы будем использовать текущий URL в качестве redirect_uri, поэтому мы не будем // нужно указать это здесь. $ login_url = $ facebook-> getLoginUrl (array ('scope' => 'publish_stream')); заголовок ( "место: $ login_url"); / * echo 'Пожалуйста логин. '; * / } ?>

Oviusly "xxxx" используются для конфиденциальности. Я связал это "$ facebook-> api ('/ me / feed', ......") с этим "$ facebook-> api ('/ $ page_id / feed', ......." "но ничего. Я не могу опубликовать свою статью на своей фан-странице.

Вы можете мне помочь?

Большое спасибо.

1 Ответ

0 голосов
/ 30 декабря 2011

Вам необходимо запросить разрешения manage_pages и publish_stream.Затем позвоните в / me / accounts, чтобы получить список учетных записей (или страниц), которые администрирует пользователь.С каждой учетной записью в этом списке будет связан токен доступа.Этот токен доступа является специальным и должен использоваться для создания экземпляра API Facebook.После того, как вы это сделаете, размещение на стене страницы будет таким же, как и на стене пользователя (например, / me / feed)

...