无法理解 Bing JSON 响应

问题描述 投票:0回答:2

我的代码:

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 版本?

ios json objective-c bing
2个回答
0
投票

‘text’的值是多少,是一个单词还是多个单词?您需要对参数“text”执行 URL_Encode 才能获得有效的 URL。

参见 Objective-C 和 Swift URL 编码 确保仅在文本对象上设置 URL_Encoding,而不是在整个 URL 上,否则“http://”也会被编码,从而导致 URL 无效

例如空格应该是 %20 ,您可以通过添加 URL 的 NSLog 来验证这一点


0
投票

看来你输入了错误的AppID。

Parameter = "SearchRequest.AppId";

确保 AppID 与他们为您的应用分配服务的 appID 相匹配。

另外(这有时会随机地给我带来问题)请确保在 URL 字符串末尾添加 /。

© www.soinside.com 2019 - 2024. All rights reserved.