使用google url shortener api,它工作正常,直到我开始测试加载。尽管我已经注册使用API并且每天有1,000,000次点击,但很快就开始收回来自Google的403 Rate Limit Exceeded错误。我可以看到谷歌报告工具中的请求,他们只是发回403的所有内容。 403开始以大约345/350点击回到API,已持续数小时。
思想?
答案 0 :(得分:8)
API将请求限制为每个用户每秒1个请求。
用户被定义为唯一的IP地址。
因此,如果您使用单个IP进行负载测试,则会导致速率限制问题。
https://developers.google.com/analytics/devguides/reporting/mcf/v3/limits-quotas#general_api
答案 1 :(得分:2)
我不认为“每个用户每秒1个请求”。正如我所说,在doc中写的是100%正确的,或google url shortener case。 (仅供参考:我使用的是“公共API访问”,而不是“OAuth”)
我遇到了几乎相同的问题,但对我来说,更有可能是“我在某些时间段内因某些网址而出现此错误”。这是什么意思?请继续阅读。
这些是我发现的:
所以,我猜谷歌的服务器可能有每个网址的缓存。如果URL失败,它必须等待一段时间才能释放缓存。
所以,我必须编写一些令人毛骨悚然的代码来解决我的问题:
但是,这个令人毛骨悚然的代码对我来说很好,因为我使用的是固定线程池大小为10的ExecutorService。因此,如果失败,其他人仍然可以获得缩短的URL。它解决了这个问题......至少对我而言。
答案 2 :(得分:-5)
您需要转到Google缩短内容扩展程序,并在选项中选择“授予访问权限”
答案 3 :(得分:-8)
右键单击Extension图标,转到Options并单击底部的Grant Access。