Facebook SDK只返回Graph API浏览器

时间:2012-09-23 10:15:20

标签: php facebook sdk facebook-fql

我有一个fql查询:

{"e426262700718049":"SELECT name, start_time, location, creator, pic_square FROM event WHERE eid=426262700718049","c426262700718049":"SELECT name FROM profile WHERE id IN (SELECT creator FROM #e426262700718049)"}

在Graph Api Explorer中它完全正常,但sdk只返回空数组。使用不同的查询,它完全正常。

这就是我实施它的方式:

public function mquery($queries)
{
    $params = array(
            'method' => 'fql.multiquery',
            'queries' => $queries
    );
    return $this->getFb()->api($params);
}

有什么想法吗? :)

1 个答案:

答案 0 :(得分:0)

问题与权限有关,您可能在尝试使用SDK检索数据时未授权用户。

您的查询使用Graph API和Graph Explorer返回空数据集对我,因为它返回了未授权用户无法使用的数据(这可能是使用SDK查询的情况) )。

如果您在没有access_token的情况下调用它,则会出现异常,但默认情况下使用SDK使用应用程序access_token。请务必在查询之前授权用户以获得正确的结果。

顺便说一下,您可以使用Graph API进行相同的工作而不是旧的休息呼叫:

$fb->api('/fql', array('q'=>'FQL QUERY OR MULTIQUERY'));