我有来自Facebook教程的非常简单的PHP代码:
$facebook = new Facebook(array(
'appId' => 'xxxx..',
'secret' => 'xxx...',
));
当我测试$facebook
对象时,我发现它没有任何属性。
我已经包含了Facebook PHP文件。否则它应该抛出一个错误。所以链接库不是我的问题。
我已经检查了appId
和密码,它们也是正确的。我不知道为什么facebook对象是ampty而且它没有显示任何错误。
我使用的是最新版本的PHP SDK。我刚刚更新了它。我使用相同的应用程序通过Javascript Facebook SDK登录用户,所以我认为我的应用程序设置正确。
答案 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] => )