Facebook API范围

时间:2011-09-08 22:15:09

标签: php facebook-graph-api

使用base_facebook.phpfacebook.php我忘了定义范围并运行它:

$app_id = "11111111111";
$app_secret = "aaaaaaaaaaaaaaaa";
$facebook = new Facebook(array(
                        'appId' => $app_id,
                        'secret' => $app_secret,
                        'cookie' => true
                        ));
if(!($facebook->getUser()))
{
        header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}");
        exit;
}

编辑我将标题行更改为以下标题行,但没有运气:

header('Location:'.$facebook->getLoginUrl(array('req_perms' => $scope)));

我第一次访问该页面时,我被重定向到一个要求我接受此应用程序的地方。我做了,其余的工作正常。

现在我意识到我需要定义一个范围,所以我添加了一个逗号分隔的字符串,例如user_checkins但刷新页面不要求额外的协议,也不允许我查看我的签到

$scope = 'user_checkins,user_likes';

$facebook = new Facebook(array(
                        'appId' => $app_id,
                        'secret' => $app_secret,
                        'cookie' => true,
                        'scope' => $scope
                        ));

我错过了一些微不足道的事情吗?我尝试重置app秘密,但没有做任何事情。我也找不到一个像样的教程:(

提前致谢!

回答:在scope中添加new Facebook()无效!错误是使用getLoginUrl()传递req_perms并需要传递scope

 header('Location:'.$facebook->getLoginUrl(array('scope' => $scope)));

1 个答案:

答案 0 :(得分:2)

您遗失的内容很简单,只需访问您在Facebook的帐户,并在您的隐私设置中转到您的“应用和网站”并删除您想要的应用的当前设置,现在再试一次它必须提示您对于你在新闻扩展权限中的权限,祝你好运,让我知道它是否有效:)