0

正如标题中提到的,我有一个应用程序,当显示授权对话时请求权限,无论用户是否点击AllowDon't Allow按钮,它们仍然被重定向到应用程序画布页面。Facebook的PHP SDK - 无论用户点击“允许”还是“不允许”,他们仍然被带到App Canvas页面?

我明白这是做与redirect_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')); 

redirect.php在我的域名只是重定向回应用程序。

感谢您的帮助!

回答

1

它会重定向到相同的URL,无论在身份验证对话框中按下哪个按钮,但有不同的GET参数:

如果用户拒绝您的应用程序访问,就应该把下面的PARAMS在url

  • ERROR_REASON = user_denied
  • 错误= ACCESS_DENIED
  • ERROR_DESCRIPTION = +的用户+否认+您+请求

你需要在你的重定向页面中处理这个。

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

很好,谢谢你的帮忙。 – martincarlin87 2011-12-22 11:06:54

相关问题