我正在尝试将(在 PHP 中)作为 Facebook 页面自动发布到 Facebook 页面。我在获取未过期的令牌,然后作为页面发布时遇到问题。看来我可以使用非过期令牌作为用户发布,但不能作为页面发布。由于文档在示例方面还有很多不足之处,有人可以概述实现这一目标的步骤吗?我创建了一个应用程序,并从用户那里授予了 manage_pages、publish_stream 和 offline_access 权限。当我尝试发布到页面时(没问题),它作为用户发布,而不是页面。我正在为用户的未过期访问令牌与页面的未过期令牌的概念而苦苦挣扎。
授予权限的代码:
<?
require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
if(is_null($facebook->getUser()))
{
header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos,manage_pages,offline_access'))}");
exit;
}
?>
和发帖的代码:
<?
require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$page_id = "PAGE_ID";
$page_access_token = "PAGE_TOKEN";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
if( !empty($page_access_token) ) {
$args = array(
'access_token' => $page_access_token,
'message' => "Test post"
);
$post_id = $facebook->api("/$page_id/feed","post",$args);
} else {
}
header("Location: http://example.com/")
?>