我的代码:
NSString *urlString = [NSString stringWithFormat:@"%@%@%@%@", @"http://api.search.live.net/json.aspx?Appid=am hiding the appid &query=",text,@"&sources=web&web.offset=",offvalue];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [NSData dataWithContentsOfURL:url];
JSON 响应:
SearchResponse = {
Errors = (
{
Code = 1002;
HelpUrl = "http://msdn.microsoft.com/en-us/library/dd251042.aspx";
Message = "Parameter has invalid value.";
Parameter = "SearchRequest.AppId";
Value = " am hiding the value";
}
);
Query = {
SearchTerms = iphone;
};
Version = "2.2";
};
}
我在这里做错了什么。有人可以纠正我的查询吗?如何使用 Bing API 2.2 版本?
‘text’的值是多少,是一个单词还是多个单词?您需要对参数“text”执行 URL_Encode 才能获得有效的 URL。
参见 Objective-C 和 Swift URL 编码 确保仅在文本对象上设置 URL_Encoding,而不是在整个 URL 上,否则“http://”也会被编码,从而导致 URL 无效
例如空格应该是 %20 ,您可以通过添加 URL 的 NSLog 来验证这一点
看来你输入了错误的AppID。
Parameter = "SearchRequest.AppId";
确保 AppID 与他们为您的应用分配服务的 appID 相匹配。
另外(这有时会随机地给我带来问题)请确保在 URL 字符串末尾添加 /。