2012-01-16 158 views
1

我试图在没有任何用户连接的情况下将页面墙上的消息发布为页面本身。Facebook PHP SDK v3.1.1 - 将页面墙上的帖子作为页面离线发布

现在,第一部分工作正常,但我需要一个连接的用户来做到这一点。我听说我需要一个seeion 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; 
} 

回答

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' 
     ) 
); 
1

Facebook将被删除offline_access许可,他们现在允许选择具有长寿命到期时间使用access_tokens。

相关问题