我的应用尚未赶上facebook的oauth的新变化。之前,我能够为用户请求权限,然后他们可以访问我的应用程序。现在,新用户无法再向我的应用授予权限。他们被发送到:
并收到消息"抱歉,出了点问题。我们会尽快修复它。"另一方面,如果用户在oauth之前已经为我的应用授予了权限,那么一切都还可以。
php就像这样:
$user = $facebook->getUser();
if ($user) {
try {
// If the user has been authenticated then proceed
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// If the user is authenticated then generate the variable for the logout URL
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
然后用户收到我的应用程序的html索引页面。否则,它们应该通过页面末尾的以下php重定向到请求权限对话框:
} else {
$loginUrl = $facebook->getLoginUrl(array('redirect_uri' => $fbconfig['appUrl']));
print "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
就像我说的,预先注册的用户可以完美地访问内容,但新成员会遇到上述错误,而不是权限屏幕。
任何人都可以帮我解决我的权限问题吗?感谢您的任何建议
答案 0 :(得分:0)
您收到的错误消息是
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
这意味着您尝试在登录后立即重定向用户,该页面不属于您的应用程序(根据您的配置)
最可能的原因是$fbconfig['appUrl'])
中定义的网址与您在“网站域名”字段中的应用设置中配置的网址不匹配