Facebook graph api Facebook PHP SDK的Getuser()方法始终返回0

Facebook graph api Facebook PHP SDK的Getuser()方法始终返回0,facebook-graph-api,Facebook Graph Api,问题:我无法从Facebook的getuser()方法获取用户id 说明:我创建了一个Facebook应用程序。保存更改后,我已将网站URL设置为“”。现在我想获得用户id,这样我就可以在Facebook上访问用户的信息 下面是我的代码: <?php require 'facebook.php'; $facebook = new Facebook(array( 'appId' => 'xxxxxxxxxxx', 'secret' => 'xxxxxxxxx

问题:我无法从Facebook的getuser()方法获取用户id

说明:我创建了一个Facebook应用程序。保存更改后,我已将网站URL设置为“”。现在我想获得用户id,这样我就可以在Facebook上访问用户的信息

下面是我的代码:

    <?php
require 'facebook.php';


$facebook = new Facebook(array(
  'appId'  => 'xxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxx',
));

$user = $facebook->getUser();
 echo $user;
if($user)
{
 $logoutUrl = $facebook->getLogoutUrl();
 }
 else
{
 $logoutUrl=$facebook->getLoginUrl();
}
 ?>
 <!doctype html>
 <html xmlns:fb="http://www.facebook.com/2008/fbml">
 <head>
<title>php-sdk</title>
 </head>
<body>
 <?php if($user )
  {
?>
 <a href="<?php echo $logoutUrl; ?>">Logout</a>
 <?php
  }
 else
 {
 ?>
<a href="<?php echo $loginUrl; ?>">Login</a>
<?php
  } 
  ?>
   </body>
   </html>

php sdk

登录Facebook后,我得到的用户id等于0。是否需要执行任何设置?我已经寻找了很多解决方案,但都不管用。如何获取用户id?

我对PHP了解不多,但原因可能是:

  • 您没有验证您的应用程序
  • 您正在从localhost运行应用程序,并在graph API中提供了您的域或其他名称
  • 您的访问令牌已过期

  • 此外,我还修改了代码以对应用程序进行身份验证。我在下面使用了代码$params=array('scope'=>'read\u stream','redirect\u uri'=>'');在这里使用它$loginUrl=$facebook->getLoginU($params);将打开一个授权对话框。bt即使在验证了应用程序后,我也没有获得用户id。当你创建与你的应用程序相关的Facebook应用程序时,你应该在Facebook开发者应用程序部分的应用程序设置中提供应用程序域。如果您在本地服务器(或localhost)上运行您的网站或应用程序,则应在其中提供应用程序域作为localhost。Facebook将验证你的身份。我在应用程序设置中将应用程序域作为本地主机提供。但问题仍然存在。。。