1

我有一个 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);
}

任何的想法?:)

4

1 回答 1

0

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

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

如果您access_token根本不调用它,您将得到一个异常,但access_token默认使用 SDK 使用应用程序。只要确保在查询之前授权用户以获得正确的结果。

顺便说一句,您可以将 Graph API 用于相同的工作,而不是旧的休息调用:

$fb->api('/fql', array('q'=>'FQL QUERY OR MULTIQUERY'));
于 2012-09-23T11:36:06.483 回答