在使用图形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"}]
答案 0 :(得分:2)
如果relative_url中有一个&符号,你需要对其进行url编码。
如果您正在执行POST请求,并且您正在发送的正文中有多个参数,则同样如此。