Google阻止了AJAX服务?

时间:2012-06-20 09:20:03

标签: ios

我正在开发一款应用程序,可以为一组客户在世界地图上创建图钉。我使用谷歌位置服务获取所有客户坐标,您可以在下面看到示例:

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/ “我们收到了自动请求,例如抓取和预取。禁止自动请求;所有请求都必须是最终用户操作的结果”

在我看来,即使对于单个客户,我也被阻止提出更多请求。

有谁知道,我该怎么做才能解锁我?

非常感谢!

1 个答案:

答案 0 :(得分:2)

Google在您关联的网页上提及如何解除阻止。

  

在大多数情况下,确认遵守使用条款并执行上述步骤将导致在短时间内自动解锁。但是,如果您在解决上述问题后几小时内未恢复对API的访问,请使用下面的表单与我们联系,我们将很乐意进一步调查。

如果您在几小时内未恢复,则页面下方会有一个表单。您可能首先要检查您的应用程序,看它是否符合API中列出的所有要求。

Google建议发送一个带有用户IP地址的userip参数,以便它不太可能显示为自动机器人(您可以使用一些低级网络代码获取Objective C中的IP地址。请参阅Programmatically retrieving IP Address of iPhone