facebook connect api回调URL

问题描述

| 我正在开发一个网站,并使用PHP SDK 3将facebook连接起来。 问题是用户进行身份验证并授予权限后,facebook返回其结果的页面。对我来说,用户单击\“ allow \”后,它将进行身份验证,然后使用查询字符串返回到同一页面(索引)。 我想要的是,如果用户单击“禁止”,他将被重定向到某个页面,例如login-fail.php,并且如果他授予权限,他将被重定向到login-success.php,其中数据将被处理并存储在数据库中。 有任何想法吗?     

解决方法

        如果发生错误,则不能指定重定向URL。最好的办法是设置一个重定向URL,无论成功或失败,重定向URL都相同:
$args[\'redirect_uri\'] = \"http://www.yoursite.com/after-dialog.php\"
$url = $facebook->getLoginUrl($args);
如果用户单击“不允许”,他将使用以下GET参数重定向到页面
after-dialog.php
error = access_denied
error_reason = user_denied
error_description = The+user+denied+your+request.
如果您确实想根据登录成功重定向他,则可以通过以下方式在“ 1”文件的顶部跟踪它:
if (isset($_GET[\'error\'])) {
  header(\'Location: http://www.yoursite.com/login-failed.php\");
} else {
  header(\'Location: http://www.yoursite.com/login-success.php\");
}
希望能有所帮助! 编辑:正如您指出(在此答案的注释中),SDK代码中的注释说:
redirect_uri: the url to go to after a successful login
但是API的参考内容是:   如果用户按“不允许”,则您的应用未获得授权。 OAuth对话框会将用户的浏览器重定向(通过HTTP 302)到您在redirect_uri参数中传递的URL。 和:   如果用户按“允许”,则您的应用已获得授权。 OAuth对话框会将用户的浏览器重定向(通过HTTP 302)到您在redirect_uri参数中传递的URL。 我还进行了一些测试,即使用户单击“不允许”,用户也始终重定向到ѭ6。它必须是代码注释中的错字。     ,        在我的情况下,我通过检查参数\“ error_reason \”解决了此问题,当用户单击“不允许”时,URL带有此参数。您可以在此页面中看到它: http://aplicacionesfacebookparadummies.blogspot.com/2011/09/obtener-datos-usuario-mediante-login.html     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...