你可以批量搜索像graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE这样的查询吗?

时间:2011-09-02 13:59:44

标签: php facebook-graph-api facebook-php-sdk

在使用图形api的批量请求的文档中,没有使用相对URL的搜索查询的示例。它应该像其他api调用一样工作,但我收到一个错误,并想知道Facebook是否允许您批量搜索查询。所以我正在使用php sdk(如

)批量调用一些api
$queries = array(
array('method' => 'GET', 'relative_url' => '/67226614422'),
array('method' => 'GET', 'relative_url' => '/140959058191'),
);
$this->test(json_encode($queries));

$objs = $fb->api('/?batch='.json_encode($queries), 'POST');

哪个效果很好。但是,如果我尝试使用搜索?q = QUERY& type = page作为下面的相对网址

$queries = array(
array('method' => 'post', 'relative_url' => '/search?q=cornell&type=page'),
array('method' => 'GET', 'relative_url' => '/67226614422'),
array('method' => 'GET', 'relative_url' => '/140959058191'),
);

sdk抛出错误

Uncaught Exception: batch parameter must be a JSON array thrown in .../facebook.php

这是编码的json:

[{"method":"post","relative_url":"\/search?q=cornell&type=page"},{"method":"GET","relative_url":"\/67226614422"},{"method":"GET","relative_url":"\/140959058191"}]

1 个答案:

答案 0 :(得分:2)

如果relative_url中有一个&符号,你需要对其进行url编码。

如果您正在执行POST请求,并且您正在发送的正文中有多个参数,则同样如此。