FB PHP SDK:可以在Localhost中获取公共详细信息,但不能在Live Server中获取

FB PHP SDK:可以在Localhost中获取公共详细信息,但不能在Live Server中获取,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,此代码在localhost中显示完整的FB详细信息,但在live server中仅显示id和名称 if ($session){ //if we have the FB session //get user data $user_profile = (new FacebookRequest($session, 'GET', '/me')); $response = $user_profile->execute(); $graphObject = $r

此代码在localhost中显示完整的FB详细信息,但在live server中仅显示id和名称

if ($session){ //if we have the FB session
     //get user data
     $user_profile = (new FacebookRequest($session, 'GET', '/me'));

     $response = $user_profile->execute();
     $graphObject = $response->getGraphObject();

     // print data
     echo  print_r( $graphObject, 1 );
}
本地主机输出示例(完整的公共详细信息):

示例实时服务器输出(仅Fb Id和全名):

权限:全部设置

$required_scope     = 'public_profile, email';

感谢您的帮助(IA)。

您的本地主机版本和Live版本是否使用了两种不同的应用程序ID?听起来可能是这样,您的Live server版本正在使用Graph API的v2.4,它实现了“声明性字段”,这意味着您需要指定要请求的字段。看这里:嗨,菲兹!是的,我在我的Db_connect.php中使用了两个不同的应用程序ID和应用程序机密。例如,$local=1;如果($local){/*localconnection*/}或者{/*liveserver connection*/}您认为这种方法会引发问题吗?谢谢是的,这种可能性更大。如果查看应用程序仪表板上的live server应用程序ID,您可以看到该应用程序的版本。如果是v2.4,则需要请求所需的特定字段。我还建议您考虑使用此处描述的“测试应用程序”,以达到以下目的:@theafitz谢谢!V 2.3和2.4差异。这解决了问题。我可能也必须重构我的代码:)谢谢你是否使用了两个不同的应用程序ID作为本地主机版本和实时版本?听起来可能是这样,您的Live server版本正在使用Graph API的v2.4,它实现了“声明性字段”,这意味着您需要指定要请求的字段。看这里:嗨,菲兹!是的,我在我的Db_connect.php中使用了两个不同的应用程序ID和应用程序机密。例如,$local=1;如果($local){/*localconnection*/}或者{/*liveserver connection*/}您认为这种方法会引发问题吗?谢谢是的,这种可能性更大。如果查看应用程序仪表板上的live server应用程序ID,您可以看到该应用程序的版本。如果是v2.4,则需要请求所需的特定字段。我还建议您考虑使用此处描述的“测试应用程序”,以达到以下目的:@theafitz谢谢!V 2.3和2.4差异。这解决了问题。我可能也需要重构我的代码:)谢谢
Facebook\GraphObject Object ( [backingData:protected] => Array ( [name] => Name LastName [id] => 101 ) )
$required_scope     = 'public_profile, email';