что эквивалентно Facebook api мне? - PullRequest
1 голос
/ 06 сентября 2011

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

$attachment = array
(
  ...
);
$result = $facebook->api($user.'/feed/','post',$attachment);

Что я вместо этого ставлюидентификатора пользователя?Я не уверен, что это просто идентификатор моей страницы.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2011

1.РАЗМЕЩЕНИЕ НА СТРАНИЦЕ СТРАНИЦЫ КАК ПОЛЬЗОВАТЕЛЬ :
Публикация на стене страницы как пользователь прямолинейна, вы можете использовать что-то вроде:

<?php
// path to sdk
require './src/facebook.php';

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

$user = $facebook->getUser();
try {
    $post_id = $facebook->api('/TARGET_PAGE_ID/feed', 'POST', array('message'=>"I am a user!"));
    var_dump($post_id);
} catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
}
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream'));
}
// rest of code here

Примечание:

  • Владельцем поста будет текущий подключенный пользователь.
  • Вышеуказанное зависит от настроек Способности публикации .
  • вам нужно разрешение publish_stream

2.РАЗМЕСТИТЬ НА СТРАНИЦЕ СТЕНУ КАК СТРАНИЦА :
Теперь для публикации в качестве страницы вы можете использовать что-то вроде:

<?php
// This code is just a snippet of the example.php script
// from the PHP-SDK <http://github.com/facebook/php-sdk/blob/master/examples/example.php>
require '../src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => 'app_id',
  'secret' => 'app_secret',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
    $page_id = 'TARGET_PAGE_ID';
    $page_info = $facebook->api("/$page_id?fields=access_token");
    if( !empty($page_info['access_token']) ) {
        $args = array(
            'access_token'  => $page_info['access_token'],
            'message'       => "I'm a Page!"
        );
        $post_id = $facebook->api("/$page_id/feed","post",$args);
    }
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream'));
}
// rest of code
?>

Примечания:

  • Вам нужны разрешения manage_pages и publish_stream
  • Как только вы получите access_token страницы, вы можете начать публиковать от ее имени
  • Подробнее об этом подробно рассказано в моем учебник .
0 голосов
/ 07 сентября 2011

Предполагая, что моя страница в Facebook означает мой канал Вы просто делаете

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