別の結果ページに移動できるように、Bing 検索 (Web 結果のみ) プロキシに追加しようとしています。パラメータ $skip を使用することになっていることはわかっていますが、ドル記号が含まれているため、URL を正しく出力できません。
間違って表示することしかできません (&: の後にドル記号が必要です)。
https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web()?Query= 'xbox'&Page=2
...または、次のエラーを教えてください:
{Linq 式を URI に変換中にエラーが発生しました: 予約文字 '$' で始まっているため、クエリ オプション '$Page' を追加できません。}
これが私のコードです(私の追加は一番下にあります)。どんな助けでも大歓迎です。ありがとう!
public BingSearchContainer(Uri serviceRoot) :
base(serviceRoot) {
}
/// <summary>
/// </summary>
/// <param name="Query">Bing search query Sample Values : xbox</param>
/// <param name="Market">Market. Note: Not all Sources support all markets. Sample Values : en-US</param>
/// <param name="Adult">Adult setting is used for filtering sexually explicit content Sample Values : Moderate</param>
/// <param name="Latitude">Latitude Sample Values : 47.603450</param>
/// <param name="Longitude">Longitude Sample Values : -122.329696</param>
/// <param name="WebFileType">File extensions to return Sample Values : XLS</param>
public DataServiceQuery<WebResult> Web(String Query, String Market, String Adult, Double? Latitude, Double? Longitude, String WebFileType, String Page) {
if ((Query == null)) {
throw new System.ArgumentNullException("Query", "Query value cannot be null");
}
DataServiceQuery<WebResult> query;
query = base.CreateQuery<WebResult>("Web");
if ((Query != null)) {
query = query.AddQueryOption("Query", string.Concat("\'", System.Uri.EscapeDataString(Query), "\'"));
}
if ((Market != null)) {
query = query.AddQueryOption("Market", string.Concat("\'", System.Uri.EscapeDataString(Market), "\'"));
}
if ((Adult != null)) {
query = query.AddQueryOption("Adult", string.Concat("\'", System.Uri.EscapeDataString(Adult), "\'"));
}
if (((Latitude != null)
&& (Latitude.HasValue == true))) {
query = query.AddQueryOption("Latitude", Latitude.Value);
}
if (((Longitude != null)
&& (Longitude.HasValue == true))) {
query = query.AddQueryOption("Longitude", Longitude.Value);
}
if ((WebFileType != null)) {
query = query.AddQueryOption("WebFileType", string.Concat("\'", System.Uri.EscapeDataString(WebFileType), "\'"));
}
if ((Page != null))
{
query = query.AddQueryOption("Page", Page);
}
return query;
}
}