我在iOS应用程序中遇到过问题。
我必须获得全部60个Google位置。 我创建了用于发送请求和解析结果的循环。 在这个循环中,我创建了这样的URL:
if (nextPageToken != nil && ![nextPageToken isEqualToString:@""])
pageToken = [NSString stringWithFormat:@"&pagetoken=%@", nextPageToken];
NSString *webStringURL = [[NSString stringWithFormat:@"%@?sensor=true&key=%@&location=%@&radius=%@%@", urlString, apiKey, location, radius, pageToken] stringByAddingPercentEscapesUsingEncoding:NSUTF32StringEncoding];
前20个对象的结果链接:
它返回结果没有问题。所以没关系。
接下来的20个对象的结果链接如下:
但在这种情况下,应用程序会收到状态“INVALID_REQUEST”。如果我在浏览器中打开此链接,一切正常。 Google会将结果返回给我。
你能帮我解决什么问题吗?我花了很多时间,但我无法弄清楚我做错了什么。提前致谢。
P.S。抱歉我的英语不好。
答案 0 :(得分:6)
https://developers.google.com/places/documentation/search#PlaceSearchPaging
发出next_page_token和之间有一段短暂的延迟 什么时候它会变得有效。在它之前请求下一页 available将返回INVALID_REQUEST响应。重试 请求具有相同的next_page_token将返回下一页 结果
尝试在请求之间添加一(或多个)秒延迟。