我正在使用bing搜索API来查找网址,例如公司的叽叽喳喳声。经过一些使用后,无论我如何更改查询或格式化,它都会开始返回:
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) {
}
}
}
答案 0 :(得分:0)
我明白了!我错误地编码了查询,这就是它链接到我的堆栈帖子的原因。
我使用%20
或+
作为空格。但是,我的客户已经处理过了。最好只使用作为空间。