2014-01-25 3 views
0

Я успешно использую следующий код, чтобы получить возможность отправлять на мою страницу вентилятора AS страницы:Опубликовать в мою facebook компании AS Страницу страницы

//Call Facebook API 
$facebook = new Facebook(array(
    'appId' => $appId, 
    'secret' => $appSecret, 
    'cookie' => true, 
)); 

$fbPost = array('access_token' => $fbToken, 'message' => $string2 ,'name' => $string2, 'description'=> $description,'link'=> $unshort); 

try{ 
    //This is to post a link! 
    $postResult = $facebook->api('/xxxxxxxxxxxxxxx/feed', 'POST', $fbPost); 
    echo 'Posted'; 
    echo '<br />';   
} catch (Exception $e){ 
    echo 'Didnt Work'; 
    echo '<br />';   
    echo $e->getMessage(); 
} 

Однако, мой счет был временно заблокирован Facebook (дон спросите ... злонамеренного конкурента). После выяснения ситуации запрет на мой аккаунт был снят, и я могу опубликовать его на странице поклонника, однако мой вышеприведенный PHP-скрипт будет публиковаться только как я на странице, а не как сама страница.

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

Любые идеи относительно того, почему мой код теперь отправляется как я (администратор), а не как сама страница?

Спасибо!

+0

Помог ли вам ответ? –

ответ

1

Я думаю, это потому, что ваш токен доступа отсутствует manage_pages. Попробуйте отладить ваш токен доступа.

В соответствии с Page Feed documentation, Доступ к токенам с разрешением publish_actions можно использовать для публикации новых сообщений от имени этой страницы. Чтобы получить токен доступа к странице, вам нужно начать с получения токена доступа пользователя и запросить разрешение manage_pages. После того, как у вас есть токен доступа пользователя, вы получите токен доступа к странице через API-интерфейс Graph, выполнив запрос GET на /{user-id}/accounts. Это даст вам токен доступа к странице, который позволит вам публиковать как страницу.

Для страницы токена доступа, вы можете просто сделать что-то вроде:

$userAccounts = $facebook->api('/me/accounts'); 

И это даст вам следующий вывод:

{ 
    "data": [ 
    { 
     "category": "Product/service", 
     "name": "Sample Page", 
     "access_token": "{access-token}", 
     "id": "1234567890", 
     "perms": [ 
     "ADMINISTER", 
     "EDIT_PROFILE", 
     "CREATE_CONTENT", 
     "MODERATE_CONTENT", 
     "CREATE_ADS", 
     "BASIC_ADMIN" 
     ] 
    }, 
} 

Более подробную информацию можно найти по адресу: Page Tokens.

Смежные вопросы