2017-09-11 1 views
0

私はMicrosoft Bing Video Search APIを使用しています。ここでテスト:Video Search API - V5
簡易リクエストの使用:https://api.cognitive.microsoft.com/bing/v5.0/videos/search?q=versace&count=105&offset=0&safeSearch=Strict&freshness=Day
コンソールからの結果には多くの投稿があります。しかし、私はカールで同じ要求を使用しようとすると、それがこの結果を返す:
コンソールからのAzure APIクエリは正しい答えを返しますが、Curlでは何もありません。

{ 
    "_type": "Videos", 
    "instrumentation": { 
     "pageLoadPingUrl": "https://www.bingapis.com/api/ping/pageload?IG=3A7948EA98004565BA8792996C75073B&CID=38B87B1BA5B4653B13C371E1A41264EA&Type=Event.CPT&DATA=0" 
    }, 
    "value": [] } 

私は、パラメータfreshnessを削除した場合、結果はより多くのポストを与えることを発見しました。このパラメータが必要なので、 'remove it'は適合しません。
助けてください:
- どのようにリクエストを使用または変更しますか?
- なぜこのリクエストはコンソールから機能しますが、curlでは機能しませんか?
おかげ

+0

URLを引用またはエスケープすることを確認しましたか?正確なコマンドラインと環境は知っておくと便利です。 – cthrash

+0

@cthrash私は、curlのようなurlパラメータに使用されている文字列を正確に書きました。あなたはエスケープについてどういう意味ですか?私はこの文字列で何かをエスケープする必要がありますか? – user3544408

+0

あなたが 'curl used'と言ったとき、あなたは 'curlをコマンドラインで使った。'あれは正しいですか?あるいは、あなたはlibcurlを使っていますか?もしあなたがより正確であれば助けになるでしょう。 – cthrash

答えて

1

私は、考えられる原因を見つけました。 'cc' => 'US'または'mkt' => 'en-US'を追加すると、結果が返されます...公式のドキュメントにそのリクエストについてデフォルト値が設定されていないので、実際には奇妙です。そのため、異なる国からの同じリクエストでは異なる結果が得られます。
私はそれを理解するために過ごした多くの時間、本当に悲しいです。

0

はこれを試してみてください:

<?php 

$args = array(
    'q' => 'versace', 
    'count' => 105, 
    'offset' => 0, 
    'safeSearch' => 'Strict', 
    'freshness' => 'Day'); 

$ch = curl_init("https://api.cognitive.microsoft.com/bing/v5.0/videos/search?" . http_build_query($args)); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Ocp-Apim-Subscription-Key: YOUR_API_KEY')); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$json = curl_exec($ch); 
var_dump(json_decode($json)); 
curl_close($ch); 
?> 
+0

結果は上に書いたものと同じです:配列 '値'は空です。 – user3544408

+0

これは本当に奇妙です - それは私が(APIキーを除いて)逐語的に試したコードでした。それは私に何十もの反応をもたらしました。トップは[this](https://www.bing.com/cr?IG=551735AB3C654D729C07B301B09EC805&CID=09381D1AD8D06B31036117E7D9D66A1F&rd = 1&h = E23u73MynKRD0FzlTlia14wVLXUR7TenxYcMb8jFDO8&v = 1&r = https%3a%2f%2fwww.bing.com%2fvideos%2fsearch%3fq%3dversace%26view%3ddetail%26mid%3d71F971415B97042CE90571F971415B97042CE905&p = DevEx、5408.1)。この兆候は、クエリ用語が偽のものと非常によく似ています。コードスニペットを共有するだけです。 – cthrash

+0

あなたのコードを正確にコピーしました。 YOUR_API_KEYは変更のみでした。私は両方を試しました。そして両方の場合に空の '価値'を得る。 – user3544408

関連する問題