权限错误Oauth2.0
问题描述:
我的应用程序尚未赶上Facebook的oauth中的新变化。之前,我可以为用户请求权限,然后他们可以访问我的应用程序。现在,新用户不再能够将权限授予我的应用程序。它们被发送到:权限错误Oauth2.0
,并收到消息“对不起,出了问题我们就只要我们能确定它的工作。”另一方面,如果用户已经在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>";
}
,但新成员打招呼与上述错误而不是权限屏幕。
任何人都可以帮助我解决我的权限问题吗?感谢您的任何意见
答
你得到该错误消息是
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'])
定义的URL不匹配,你已经在你的应用程序设置配置在网站域(s)域
@ IGY什么。谢谢。我不确定为什么这几个星期前不再有效。为了澄清,$ fbconfig ['appUrl'])被设置为https:// mywebsite.com/facebook/。我的网站网址和画布网址都设置为与上面的网址相同。谢谢你的帮助。 –
'App Domain'字段是这里最有可能的罪魁祸首,它位于应用类别选择正上方的基本设置页面 - 网站URL和画布网址设置不同 – Igy
感谢Igy。 'site url'(https :)被设置为与$ fbconfig ['appUrl'])相同的值,它被设置为与我的'secure canvas url'相同的值。另一方面,“画布页面”设置为apps.facebook.com/myapp/。仍然无法正常工作,但是..感谢您的帮助 –