您可以批量搜索查询,如graph.facebook.com/search?q=QUERY&type=OBJECT_TYP


Can you batch search queries like graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE?

在图形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');

效果很好。但是如果我尝试使用search?q=QUERY&type=page作为相对url,就像下面的

$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"}]

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

同样,如果你正在做一个POST请求,并且你在你发送的正文中有多个参数