使用facebook php库,指定" publish_stream"在scope参数中,不给我发布权限

时间:2014-05-06 19:58:41

标签: php facebook facebook-graph-api

我有两个网站,为他们设置了应用程序。当我点击第一个站点上的登录链接(由下面的代码生成)时,它将显示

" APP将收到以下信息:您的公开个人资料,朋友列表和电子邮件地址。"

然后当我单击“确定”时会显示

对话框

" APP希望为您发布到Facebook。"

但是,在我的其他网站上,第二个对话框永远不会出现,当然我也没有权限代表用户发帖。有没有人有什么想法可能是错的?

我正在使用facebook php SDK

function __construct()
{

    $this->connection = new Facebook(array(
        'appId' => FACEBOOK_APP_ID,
        'secret' => FACEBOOK_SECRET,
        'allowSignedRequest' => true
    ));
    parent::__construct();
}

public function getLoginUrl($callback_url = '')
{
   $params = array('scope'=>'email,publish_stream');
    if($callback_url){
        $params['redirect_uri'] = $callback_url;
    }
    if(!$this->getUser()){
        return $this->connection->getLoginUrl($params);
    }
    return false;
}

2 个答案:

答案 0 :(得分:0)

Facebook引入了名为“publish_actions”的新权限,而不是public_stream。您可以看到引用here

答案 1 :(得分:0)

如果您使用的是Graph API v2.0,publish_stream权限已被publish_actions取代,请参阅

下的权限参考

https://developers.facebook.com/docs/facebook-login/permissions/v2.0#reference-extended-publish