Facebook PHP SDK -不管用户是否点击'Allow'or 'Don't A


Facebook PHP SDK - Regardless Of Whether User Clicks 'Allow' or 'Don't Allow' They Are Still Taken To The App Canvas Page?

如标题所述,我有一个应用程序,当授权对话框显示请求权限时,无论用户点击Allow还是Don't Allow按钮,它们仍然被重定向到应用程序画布页面。

我知道这与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在我的域名只是重定向回应用程序。

谢谢你的帮助!

无论在验证对话框中按下哪个按钮,它都会重定向到相同的url,但使用不同的GET参数:

如果用户拒绝你的应用访问,它应该在url

中放入以下参数
  • error_reason = user_denied
  • 错误= access_denied
  • error_description = +用户+否认+ +请求

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

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