3

次のURLでBingsAPIの最新のドキュメントをどこで見つけることができるか知っている人はいますか?

https://api.datamarket.azure.com/Bing/Search/v1/Web

自分のWebサイトでさえ、私が読んでいるdocsという単語のURLが間違っています。つまり、https://api.datamarket.azure.com/Bing/SearchWeb/Webが機能しません。

検索を機能させて結果を返すことはできますが、合計レコード数を取得できません。コンポジットを使用すると、レコード数を取得できますが、結果は取得できません。

カウントと結果の両方を取得する方法の最新の例を探しています。

これは私がこれまでに持っているものです:

public class GetBingTotalRecordCount
{
    public IEnumerable<DisplayBingWebSearch> DisplayBingSearchResults(string q)
    {
        string BingID = ConfigurationManager.AppSettings["Bing_WebSearchID"];
        string BingWebSearch
            = ConfigurationManager.AppSettings["Bing_WebSearchURL"];
        var BingContainer = new Bing.BingSearchContainer(new Uri(BingWebSearch));
        BingContainer.Credentials = new NetworkCredential(BingID, BingID);
        var query = BingContainer.Composite("Web", HttpUtility.UrlEncode(q),
            "EnableHighlighting", "DisableQueryAlterations", "en-GB", "Strict",
            null, null, null, null, null, null, null, null, null
        ).Execute().First();

        List<DisplayBingWebSearch> data = new List<DisplayBingWebSearch>();
        foreach (var results in query.Web)
        {
            data.Add(new DisplayBingWebSearch() {
                 WebTitle = results.Title
            });
        }
        return data;
    }
}
4

1 に答える 1

2

独自のカウントとページングを実行する必要があります。

results.Countは、foreachステートメントから返されるレコードの数を取得します。

クエリごとに最大50の結果があり、$ top = xで最大結果数を指定できます。ここで、xは目的の最大結果です。

元:https://user:yourAccountKey@api.datamarket.azure.com/Bing/SearchWeb/Web?Query=%27leo%20fender%27&Market=%27en-US%27&$top=50&$format=JSON"

BingはクエリでODataパラメーターを使用するようになったため、$ topは返される結果の数になり、$skipはオフセットになります。

$topと$skipの例を含むFAQは、 http: //go.microsoft.com/fwlink/?LinkID=252146にあります。

あまり役に立たない移行ガイドは、 http: //go.microsoft.com/fwlink/?LinkID=248077にあります。

于 2013-03-15T16:10:45.440 に答える