2

Bing Search API(Azure)を使用して、javascript/jsonを使用してニュースヘッドラインのリストを取得しています。それは機能していますが、何らかの理由で$ top(count)値を無視し、そこに何を置いたかに関係なく、デフォルト/最大(15)の結果数を表示します。

呼び出しは次のとおりです。

https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?$format=JSON&Query=%27MyQuery%27&Sources=%27news%27&Market=%27en-US%27&Adult=%27Off%27&$top=5&$skip=0

私のページのコードを使用してそれを制限することはできますが、それは私には無駄に思えます。私が行方不明になっているのは明らかなことだと思います。

あなたの助けに感謝します。

注:私が使用している$ .ajax内の実際のコード行は、プロキシphpスクリプトです。

url: "scripts/bingapi.php?query=" + escape("https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?$format=JSON&Query=%27MyQuery%27&Sources=%27news%27&Market=%27en-US%27&Adult=%27Off%27&$top=10&$skip=0"),

それは「脱出」に関連するものでしょうか?

4

2 に答える 2

1

Bing Compositeサービスの操作ドキュメントから:

また、OData予約済みパラメーター$ topで返される結果の数は、ニュースを除くクエリで指定されたすべてのデータソースを参照していることに注意してください。複合クエリで使用すると、ニュースは常に固定数の15のニュース結果を返します。

取得元:BingSearchAPIのスキーマ表形式ドキュメント

于 2013-01-31T10:12:30.540 に答える
1

発生している問題は、JavaScript のエスケープがドル記号を処理していないことが原因$です。次のように、 encodeURIComponentを代わりに使用することをお勧めします。

url: "scripts/bingapi.php?query=" + encodeURIComponent("https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?$format=JSON&Query=%27MyQuery%27&Sources=%27news%27&Market=%27en-US%27&Adult=%27Off%27&$top=10&$skip=0"),

これが役立つことを願っています!

于 2012-09-27T15:40:27.933 に答える