我试图获得用户的生日,但是一旦我添加了user_birthday权限,我就得到了一个错误Invalid Scopes: user_birthday. This message is only shown to developers...
我认为它首先被废弃了,但是没有发现任何关于它的东西,而且3.0的文档也有user_birthday的权限。(这里)
$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);在这个关于无效Scopes的错误之后,我被重定向到我的回调文件,并带有一个“坏请求”错误。
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的请求不返回生日,而id、名称、电子邮件都正常工作。我想这是因为我没有批准user_birthday权限,但是如果权限屏幕由于Invalid Scopes而没有打开,我该如何做呢?
发布于 2018-06-10 19:24:27
经过长时间的研究,我发现这是由于我的应用程序是“现场”。看起来只有目前处于开发模式的应用程序才有权限工作。
希望它能帮到别人。
https://stackoverflow.com/questions/50786242
复制相似问题