Facebook PHP SDK-无论用户是否单击';允许';或';Don';不允许';他们仍然被带到应用程序画布页面?

Facebook PHP SDK-无论用户是否单击';允许';或';Don';不允许';他们仍然被带到应用程序画布页面?,php,facebook,facebook-php-sdk,facebook-oauth,facebook-authentication,Php,Facebook,Facebook Php Sdk,Facebook Oauth,Facebook Authentication,正如标题中提到的,我有一个应用程序,当显示auth对话框请求权限时,无论用户单击允许还是不允许按钮,它们仍然会重定向到应用程序画布页面 我知道这与重定向uri有关,但是有没有办法根据单击的按钮来区分这两个操作以执行不同的逻辑 // Login or logout url will be needed depending on current user state. else { $loginUrl = $facebook->getLoginUrl(array('canvas' =

正如标题中提到的,我有一个应用程序,当显示auth对话框请求权限时,无论用户单击
允许
还是
不允许
按钮,它们仍然会重定向到应用程序画布页面

我知道这与重定向uri有关,但是有没有办法根据单击的按钮来区分这两个操作以执行不同的逻辑

// Login or logout url will be needed depending on current user state.
else {
     $loginUrl = $facebook->getLoginUrl(array('canvas' => 1,
                                              'fbconnect' => 0,
                                              'display' => 'page',
                                              'redirect_uri' => 'https://www.facebook.com/dialog/oauth?client_id=xxxxxxxxx&redirect_uri=http://www.domain.com/facebook/2011/app1/redirect.php&scope=publish_stream',
                                              'req_perms' => 'publish_stream'));
my domain上的
redirect.php
只是重定向回应用程序


谢谢你的帮助

无论在auth对话框中按下哪个按钮,它都将重定向到相同的url,但具有不同的GET参数:

如果用户拒绝您的应用程序访问,则应在url中添加以下参数

  • 错误\u原因=用户\u被拒绝
  • 错误=访问被拒绝
  • 错误描述=用户+拒绝+您的请求
您需要在重定向页面中处理此问题

if(isset($_GET['error']))
{
    die($_GET['error_description']);
}
else
{
    // ... redirect as usual
}