我的Facebook对象是空的

时间:2011-09-05 14:50:45

标签: php facebook

我有来自Facebook教程的非常简单的PHP代码:

$facebook = new Facebook(array(
  'appId'  => 'xxxx..',
  'secret' => 'xxx...', 
));

当我测试$facebook对象时,我发现它没有任何属性。

我已经包含了Facebook PHP文件。否则它应该抛出一个错误。所以链接库不是我的问题。

我已经检查了appId和密码,它们也是正确的。我不知道为什么facebook对象是ampty而且它没有显示任何错误。

我使用的是最新版本的PHP SDK。我刚刚更新了它。我使用相同的应用程序通过Javascript Facebook SDK登录用户,所以我认为我的应用程序设置正确。

3 个答案:

答案 0 :(得分:0)

似乎完全没事.. 添加一些代码来检查它是否正常工作并查询API。以下是您应添加的一些新增内容,并检查它是否正常工作。

<?php
set_time_limit(0);
include_once 'facebook.php';
$facebook = new Facebook(array(
'appId'=>'******',
'secret'=>'*****',
'cookie'=>true
));

$session=$facebook->getSession();
$me= null;
try
{
$userId=$facebook->getUser();
$me=$facebook->api('/me');
echo $me['first_name'] . " " . $me['last_name'];

}
catch (FacebookApiException $e)
    {
        echo $e->getMessage();
    }

确保在任何facebook API代码中添加“try catch”..如果遇到任何错误,它会显示错误。

如果您还有其他问题,或者您觉得我没有正确回答您的问题,请随时发表评论并生病回复。

答案 1 :(得分:0)

尝试检查是否有设置显示错误,有时需要明确声明如下:

ini_set('display_errors',1);

答案 2 :(得分:0)

我发现,我没有一个空的Facebook对象。我正在使用Krumo类来打印对象内容,并且可能设置为不显示protectec属性。当我使用PHP print_r函数时,我得到了这个对象:

Facebook Object (
  [appId:protected] => xxx
  [apiSecret:protected] => xxx
  [user:protected] =>
  [signedRequest:protected] =>
  [state:protected] =>
  [accessToken:protected] =>
  [fileUploadSupport:protected] =>
)