0

用户 a - 应用程序的管理员 在 HTTP 上运行应用程序

getUser() 正在提供用户 ID

用户 b - 不是管理员 在 HTTP 上运行应用程序

getUser() 给出零,URL 是这样的 &error_reason=user_denied&error=access_denied&error_description=The+user+denied+your+request.&state=32423dfs23423dsaaw# =

下面是验证用户的代码用户,

 $facebook = new Facebook(array(
      'appId'  => '',
      'secret' => '',
      'cookie' => true
    ));

 $user = $facebook->getUser();
    $loginUrl   = $facebook->getLoginUrl(
            array(
                 'scope' => 'publish_stream,email',
                 'redirect_uri' => 'https://www.facebook.com/pages/test?sk=app_23423423'

            )
    );


   if (!$user) {?>
  <a href="<?php echo $loginUrl ?>">Facebook Login</a>
            else
            {
                 echo "<script type='text/javascript'>location.href = 'test.php?Id=$user'</script>";  

            }
                   }
4

1 回答 1

1

每当你得到

错误=拒绝访问

在从 Facebook 返回的 $_REQUEST 中,您将不会获得用户 ID,这是因为用户已登录或授权您的应用程序,以便您可以检索用户 ID。这与没有用户登录的情况相同。您可以分别从 $_REQUEST['error_reason'] 和 $_REQUEST['error_description'] 获取原因和描述,以向用户显示更多详细信息或供您记录。

于 2012-11-22T06:33:01.757 回答