使用Facebook的PHP SDK,getGraphObject-> asArray()返回一个对象?

时间:2014-07-05 09:28:52

标签: php facebook facebook-php-sdk

我正在从Facebook的新PHP SDK中调用对象,而我正在按照下面的方式创建对象,但是,对于我同样调用的2个单独的请求,他们不会回来相同。第一个请求以数组形式返回(如所希望的那样)。第二个,作为一个对象回来,为了我的生活,我不明白为什么。

$fb_session = new FacebookSession( $fb_session->getToken() );

// graph api request for user data
$fb_user_array = (new FacebookRequest( $fb_session, 'GET', '/me' ))->execute()->getGraphObject()->asArray();

echo "FB USER >> A" . $fb_user_array['id'];     // WORKS
echo "FB USER >> B" . $fb_user_array->id;       // FAILS

$picture_array = (new FacebookRequest( $fb_session, 'GET', '/me/picture?type=large&type=square&redirect=false' ))->execute()->getGraphObject()->asArray();

echo "FB PIC >> A " . $picture_array['url'];    // FAILS!!
echo "FB PIC >> A " . $picture_array->url;      // WORKS??

2 个答案:

答案 0 :(得分:2)

这是PHP SDK中有since been fixed的错误。只需下载the latest version of 4.0即可,您不应再遇到此问题。 :)

答案 1 :(得分:0)

现在正在运作。实际上你帮我找到了正确的GET语法,因为fb开发者页面给出了一个产生错误的例子......(原来怎么样?)。 我知道错误可以存在于任何新的API(fb或其他)中,但非常令人沮丧的是fb开发者页面中非常糟糕的API示例以及错误。很多时候我只是想知道他们是否曾经测试过他们发布的内容。我不知道这背后的开发团队,但如果他们是收入很高的fb开发者,那至少是荒谬的。