2016-05-31 61 views
0

我正在使用bing搜索API來查找URL,比如公司的推特。一些使用後,它開始返回這個無論我怎麼改查詢或格式:PHP必應搜索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) { 
    } 
    } 
} 
+2

您是否經常需要重新生成訪問API密鑰?許多像這樣的API服務只會在特定的時間段(通常是幾分鐘)內保存有效的密鑰。 – theruss

+0

好想法 - 但我的鑰匙沒有改變。 – Rob

+0

嗨@Rob - 好的名字,順便說一句 - 請儘量避免在SO上的帖子中出現咒罵。謝謝! – Rob

回答

0

我想通了!我編碼查詢不正確,這就是爲什麼它鏈接到我的堆棧發佈。

我使用%20+空格。但是,我的客戶已經在處理這個問題了。最好只使用作爲空間。