Я использую API поиска Bing для поиска URL-адресов, подобных твитерам компании. После некоторого использования он начал возвращать это независимо от того, как я изменил запрос или форматирование:
array(1) {
["d"]=>
array(1) {
["results"]=>
array(0) {
}
}
}
Я не изменил свой код, который получает запрос. Вот запрос, который я использую:
Capital University%20twitter
И вот код, который я использую для вызова API:
$key = 'mykey';
$client = new BingClient($key,'json');
$result = $client->get('Web',['Query' => $query]);
return json_decode($result,true );
Я не ограничен в скорости. Может быть, кто-то еще сталкивался с этой проблемой раньше?
Изменить: теперь он возвращает результаты (я не изменил код), но единственными результатами является это сообщение переполнения стека. Первая строка — это запрос, первый объект — это его результат.
string(28) "Capital University%20twitter"object(stdClass)#1008 (1) {
["d"]=>
object(stdClass)#1013 (1) {
["results"]=>
array(1) {
[0]=>
object(stdClass)#1014 (6) {
["__metadata"]=>
object(stdClass)#1015 (2) {
["uri"]=>
string(111)"https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Web?Query='Capital University twitter'&$skip=0&$top=1"["type"]=>
string(9) "WebResult"}
["ID"]=>
string(36) "4d5c4ee7-e5f8-44ac-90b3-a12c321e6033"["Title"]=>
string(59) "PHP Bing Search API returns an empty array - Stack Overflow"["Description"]=>
string(161) "Capital University%20twitter. And this is the code I use to call the API: $key = 'mykey'; $client = new BingClient($key,'json'); $result = $client->get ('Web ..."["DisplayUrl"]=>
string(67) "stackoverflow.com/questions/37556866/php-bing-search-api-returns..."["Url"]=>
string(86) "http://stackoverflow.com/questions/37556866/php-bing-search-api-returns-an-empty-array"}
}
}
}
string(29) "Capital University%20facebook"object(stdClass)#1008 (1) {
["d"]=>
object(stdClass)#1016 (1) {
["results"]=>
array(0) {
}
}
}
Я понял! Я неправильно кодировал запрос, поэтому он связан с моим стэком.
Я использовал %20
или же +
как пробелы. Тем не менее, мой клиент уже занимался этим. Лучше всего просто использовать для космоса.
Других решений пока нет …