Для публикации в виде страницы вам необходимо получить токен администратора страницы пользователя ....
Сокращенная версия аутентификации страницы: (добавлено offline_access)
От http://developers.facebook.com/docs/authentication/
Получить токен с полномочиями управления и offline_access: (обновите с YOUR_APP_ID и YOUR_URL
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages,offline_access&response_type=token
Как только вы аутентифицируете страницу, вы будете перенаправлены на YOUR_URL ...
В браузере вы увидите URL перенаправления, хэш, токен доступа, срок действия истекает ...
скопируйте все между 'token =' и '& expires = 0' (если у него нет expires = 0, вы не делали разрешения на автономный доступ)
<?php
require_once('facebook.php');
$app_id = "YOURAPPID";
$app_secret = "YOURSECRET";
$userAppToken = 'TOKENHERE!'; // from authentication
$pageID = '123456';
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$token = array(
'access_token' => $userAppToken
);
// Get the user page admin tokens (account access info)
$userdata = $facebook->api('/me/accounts', 'GET', $token);
// Loop through the data and get the token for the page id..
foreach($userdata['data'] as $data) {
if ($data['id'] == $pageID) {
$pageAdminToken = $data['access_token'];
continue;
}
}
// THis is actually for a wall post, but just modify to whatever you want (you must have access_token as it is what authorizes the action for the page..
// compile the post
$WallPost = array(
'message' => 'Test post from my app!',
'access_token' => $pageAdminToken
); // you can also use 'picture', 'link', 'name', 'caption', 'description', 'source'....
//http://developers.facebook.com/docs/reference/api/
// post to wall (feed is wall post, just update to whatever you want to publish to)
$response = $fb->api($pageID . '/feed','GET',$WallPost);
?>