Можете ли вы группировать поисковые запросы, такие как graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE? - PullRequest
1 голос
/ 02 сентября 2011

В документации по пакетным запросам с графиком API нет примеров использования поискового запроса для относительного URL.Это должно работать так же, как и другие вызовы API, но я получаю сообщение об ошибке и задаюсь вопросом, позволяет ли Facebook группировать поисковые запросы.Поэтому я пакетирую некоторые вызовы API, используя php SDK, как

$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 в качестве относительного 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"}]

1 Ответ

2 голосов
/ 23 сентября 2011

Вам нужно url кодировать относительный_рл, если в нем есть амперсанд.

То же самое происходит, если вы делаете запрос POST, и у вас есть несколько параметров в теле, которое вы отправляете.

...