我们有一个在Google Apps域之间进行迁移的应用程序。对于日历迁移,我们使用Import API(https://developers.google.com/google-apps/calendar/v3/reference/events/import)。在过去的六个月里,我们做了很多日历迁移。但是大约一周前,我们遇到了import:
的新API错误。 "error"=>
{"errors"=>[
{"domain"=>"usageLimits",
"reason"=>"quotaExceeded",
"message"=>"Calendar usage limits exceeded."}],
"code"=>403,
"message"=>"Calendar usage limits exceeded."
上周,我们收到了许多来自不同域的用户的"日历使用限制超过"错误。根据Google API Console,我们没有达到每日配额限制。对于我们的应用,我们使用两腿授权。
请帮助我们理解"日历使用限制超过"是什么意思?我们如何防止这种错误呢?在哪里可以找到有关日历使用限制的信息?
也有同样的问题
我正在使用版本3代码,TwoLeggedOAuthCredentials和程序是一个授权的注册客户端(注意:日历是代表多个帐户创建的。)
最近成功的大型导入:2013-01-21,4929 Google requests &2013-01-22, 1103 Google请求(跨多个用户)
在我们的配额(https://code.google.com/apis/console/b/0/#project:1077083635926:quotas)的大约4%时,程序开始得到以下错误:https://www.googleapis.com/calendar/v3/calendars?alt=json返回"日历使用限制超出"。>
如果程序在一段时间(15分钟以上)后重新运行,它将在收到相同的错误之前运行更多的请求。如果在"冷却"期后重新运行,先前出错的日历信息将会成功。代码本身休眠了接收到错误的次数乘以20秒,并尝试了10次(第一次错误后等待20秒,第二次错误后等待40秒),但它大大增加了运行程序的时间。
我昨天将每个用户的限制从5个请求/秒/用户增加到10.0个请求/秒/用户。到目前为止,在行为上还没有明显的变化。缓慢地执行代码似乎也没有影响,这使我相信这与每秒请求数无关。
如果这是一个未记录的每个用户配额(而不是他们的请求/秒/用户配额),它是新的。
我找到了这个官方支持文档,下面是一些简短的信息,希望对你有所帮助:https://support.google.com/a/answer/2905486?hl=en
超出日历使用限制。这是API调用的结果。(不要将此消息与"每日配额超过"消息混淆,后者表示API配额不足。)
如果用户看到这些消息之一,它可能是由于以下原因之一:
- 创建太多事件
如果用户在短时间内在其日历中创建了超过10,000个事件,则该用户可能会失去日历编辑权限。
- 创建太多日历
如果用户在短时间内创建了超过25个新日历,该用户的日历可能会进入只读模式。
- 向外部客人发送太多邀请或电子邮件
为了防止垃圾邮件,Google Calendar限制了用户可以发送给外部客人的邀请数量。这个限制根据操作的不同而不同,通常在100-300个客人之间。
Google Apps用户可以从他们的主域或从与他们的主域相关联的辅助域向任意数量的客人发送邀请。
- 与太多用户共享日历
如果用户在短时间内与许多其他用户共享一个或多个日历,则该用户的Google Calendar可能会切换到只读模式。通过手动更新共享设置几乎不可能达到这个限制,但可以通过一些基于api的工具或第三方应用程序实现。
分析日志后,我发现
免费谷歌应用程序帐户对于用户:初始:100外部来宾域电子邮件限制累计:1个外部来宾40分钟
交货:如果你有一个新的令牌,你可以发送任何一个*. 50个有100个客人的活动-每个活动2个客人*. 25个100人的活动-每个活动4人
每
限制Day: 36 Guests
Week: 252 Guests
Month: ~1080 Guests
购买的GSuite日历API给出了1000个客人请求的初始限制
https://github.com/manjeshpv/gsuite-google-calendar-api-limits您将获得1000(客人的电子邮件在您的域名外)天您登录+ 1客人的电子邮件邀请每40分钟。当你超过这个限制时,你会得到这个错误
使用Google Calendar ****Google Calendar (https://calendar.google.com)
无法保存事件您已达到可编辑事件数量的限制。请等待几个小时,您的账户将被审核。我们感谢你的耐心。注意:这可能是您安装的第三方应用程序与Google Calendar交互的结果,例如同步应用程序。
使用基于API的方法
错误:超出日历使用限制。代码:403,错误:[{域:'usageLimits',原因:'quotaExceeded',消息:'日历使用限制超出。<}]}
除了应用程序配额,还有一些独立于应用程序的每用户限制。如果有人是日历的重度用户,或者如果你为一小部分用户做了很多活动,即使你的应用程序在其总API配额下,应用程序也可能受到限制。
我有同样的问题,并发现有多少外部客人(住在另一个域的客人)的配额,你可以邀请。这个配额记录在这里:
http://support.google.com/a/bin/answer.py?hl=en&回答= 2905486
我不知道目前有什么解决办法,但如果你能找到一个,我也会觉得很有帮助。祝你好运。
我在Google Apps域外插入许多受邀人员的活动时遇到了这个问题。我得到了以下回复从谷歌应用程序支持:
"日历对您可以执行的事件数量有限制从一个日历邀请。很快就会达到极限邀请去一个用户,不在谷歌应用程序。"
希望有帮助。
对外部与会者的限制似乎非常严格,并且大量累积。
对于G Suite的测试,最好只同步主域的与会者。