我正在开发一款应用程序,可以为一组客户在世界地图上创建图钉。我使用谷歌位置服务获取所有客户坐标,您可以在下面看到示例:
NSString *locationString = [NSString stringWithFormat:@"%.6f,%.6f"];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://ajax.googleapis.com/ajax/services/search/local?v=1.0&rsz=8&sll=%@&q=%@", locationString, [cusName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
但是我使用一个程序为大约1000个客户执行此操作,然后我被谷歌阻止了。
然后我意识到这不应该被谷歌允许: https://developers.google.com/errors/ “我们收到了自动请求,例如抓取和预取。禁止自动请求;所有请求都必须是最终用户操作的结果”
在我看来,即使对于单个客户,我也被阻止提出更多请求。
有谁知道,我该怎么做才能解锁我?
非常感谢!
答案 0 :(得分:2)
Google在您关联的网页上提及如何解除阻止。
在大多数情况下,确认遵守使用条款并执行上述步骤将导致在短时间内自动解锁。但是,如果您在解决上述问题后几小时内未恢复对API的访问,请使用下面的表单与我们联系,我们将很乐意进一步调查。
如果您在几小时内未恢复,则页面下方会有一个表单。您可能首先要检查您的应用程序,看它是否符合API中列出的所有要求。
Google建议发送一个带有用户IP地址的userip参数,以便它不太可能显示为自动机器人(您可以使用一些低级网络代码获取Objective C中的IP地址。请参阅Programmatically retrieving IP Address of iPhone )