【发布时间】:2011-05-07 09:44:57
【问题描述】:
我正在使用 Bing Sharp 2.0。我想通过过滤器进行图像搜索,所以我按照示例中的代码:
SearchRequest searchRequest = new SearchRequest { AppId = appId, Query = query, Market = "en-US" };
ImageRequest imageRequest = new ImageRequest();
imageRequest.Filters = buildFilterArray();
imageRequest.Count = imageCount;
imageRequest.Offset = (imageCount * pageNumber);
ImageResponse response = API.Image(searchRequest, imageRequest);
这是 buildFilterArray:
private string[] BuildFilterArray()
{
List<string> filters = new List<string>();
filters.Add("Size:Small");
filters.Add("Size:Medium");
return filters.ToArray();
}
但是结果什么也没回来(response.Total == 0)。
我找到原因是因为我在 buildFilterArray() 中指定了 2 个过滤器,只要我删除一个(无论哪个),我的搜索都会返回预期的结果。
这也证明了直接从IE发出http get请求,返回结果:
http://api.search.live.net/xml.aspx?AppId=0B409D9BA6759BCD3CC3D8B9A6A90F2907274BC7&Query=tektronix&Version=2.0&Market=en-US&Sources=Image&Image.Count=10&Image.Offset=0&Image.Filters=Size:Small
虽然这不是:
http://api.search.live.net/xml.aspx?AppId=0B409D9BA6759BCD3CC3D8B9A6A90F2907274BC7&Query=tektronix&Version=2.0&Market=en-US&Sources=Image&Image.Count=10&Image.Offset=0&Image.Filters=Size:Medium&Image.Filters=Size:Small
我做错了吗?如何在搜索请求中添加多个过滤器?
【问题讨论】:
-
我想在 iOS 应用程序中集成相同的 api。你能指导我在哪里注册我的应用程序吗?