Facebook SDK 无效范围错误
Facebook SDK Invalid Scopes error
我正在尝试获取用户的生日,但是一旦我添加 user_birthday
权限,我就会收到错误 Invalid Scopes: user_birthday. This message is only shown to developers...
我以为它首先被弃用了,但一无所获,3.0 的文档也有 user_birthday
权限。 (HERE)
$fb = new Facebook\Facebook([
'app_id' => 'XXXXXXXXXXXXXXX',
'app_secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXX',
'default_graph_version' => 'v3.0',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_birthday'];
$loginUrl = $helper->getLoginUrl('https://mywebsite.com/callback', $permissions);
$loginUrlFinal = 'https://www.facebook.com/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri='.$loginUrl.'&state='.urlencode($fb_params);
在出现有关无效范围的错误后,我被重定向到我的回调文件并出现 "Bad request" 错误。
if (! isset($accessToken)) {
if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}
编辑:
我添加的几乎所有权限都会发生这种情况,到目前为止唯一有效的只是 email
.
向 OpenGraph 发送 ?fields=email,user_birthday
returns 没有生日的请求,但 ID、姓名、电子邮件都正常。我想发生这种情况是因为我没有批准 user_birthday
权限,但是如果由于 Invalid Scopes
?
而无法打开权限屏幕,我该怎么办呢?
经过长时间的研究,我发现这是因为我的应用程序 "Live"。看起来只有当前处于开发模式的应用程序才有权限工作。
希望对大家有所帮助。
我正在尝试获取用户的生日,但是一旦我添加 user_birthday
权限,我就会收到错误 Invalid Scopes: user_birthday. This message is only shown to developers...
我以为它首先被弃用了,但一无所获,3.0 的文档也有 user_birthday
权限。 (HERE)
$fb = new Facebook\Facebook([
'app_id' => 'XXXXXXXXXXXXXXX',
'app_secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXX',
'default_graph_version' => 'v3.0',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_birthday'];
$loginUrl = $helper->getLoginUrl('https://mywebsite.com/callback', $permissions);
$loginUrlFinal = 'https://www.facebook.com/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri='.$loginUrl.'&state='.urlencode($fb_params);
在出现有关无效范围的错误后,我被重定向到我的回调文件并出现 "Bad request" 错误。
if (! isset($accessToken)) {
if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}
编辑:
我添加的几乎所有权限都会发生这种情况,到目前为止唯一有效的只是 email
.
向 OpenGraph 发送 ?fields=email,user_birthday
returns 没有生日的请求,但 ID、姓名、电子邮件都正常。我想发生这种情况是因为我没有批准 user_birthday
权限,但是如果由于 Invalid Scopes
?
经过长时间的研究,我发现这是因为我的应用程序 "Live"。看起来只有当前处于开发模式的应用程序才有权限工作。
希望对大家有所帮助。