Facebook PHP SDK v3.1.1 - 在页面离线时在页面墙上发布消息

时间:2012-01-16 16:06:59

标签: php facebook offline facebook-wall

我试图在页面的墙上发布消息,而没有任何用户连接。

目前,第一部分工作正常,但我需要一个连接用户来完成它。我听说我需要一个使用标识ID来离线,但我不知道如何获取它以及如何使用它。

目前,我的代码是:

$facebook = new Facebook(array('appId'  => $appID, 'secret' => $appSecret));
$user = $facebook->getUser();

try 
{
    $pageInfo = $facebook->api("/{$pageID}?fields=access_token");
    if(!empty($pageInfo['access_token'])) 
    {
        $args = array(
            'access_token'  => $pageInfo['access_token'],
            'message'       => $message
        );
        $postID = $facebook->api("/{$pageID}/feed", 'post', $args);
    }
} 
catch (FacebookApiException $e) 
{
    echo '<pre>'; var_dump($e); echo '</pre>';
    $user = null;
}

3 个答案:

答案 0 :(得分:2)

您需要设置offline_access权限,然后才能执行所需操作。检查一下它会告诉你该怎么做:http://eagerfish.eu/using-facebook-off-line-access-to-post-on-users-wall/

答案 1 :(得分:1)

Facebook将删除offline_access权限,他们现在允许该选项使用具有长期过期时间的access_tokens。

答案 2 :(得分:0)

使用publish_stream权限。

  

使您的应用能够将内容,评论和喜欢发布到用户的信息流和用户朋友的信息流。有了此权限,您可以随时将内容发布到用户的Feed,而无需offline_access。但请注意,Facebook建议使用用户启动的共享模式。

除了作为页面发布(不是用户),还要求manage_pages

var $permissions_needed = 'manage_pages,publish_stream';

如何登录:

$this->login_url = $facebook->getLoginUrl(
        array(
            'scope' => $this->permissions_needed,
            'display' => 'page'
        )
);