Google 日历 API:使用服务帐号超出了 403 日历使用限制



应用程序的整个面向Google的一面都是用.NET编写的。

我正在尝试使用管理员帐户创建的服务帐户在资源上创建事件。我能够创建事件并指定除与会者之外的任何参数。

几点说明:

  • 我们有 g Suite 许可证,并且完全在我们的配额范围内。
  • 服务帐户对日历具有写入访问权限。
  • 我尝试只在自己的域中添加与会者,但这并不能解决问题。
  • 我试过不发送电子邮件通知并得到相同的回复。
  • 所有事件都将添加到同一日历中。
  • 没有与会者的请求完全可以正常工作。
  • 我看到了这个页面:https://support.google.com/a/answer/2905486?hl=en 并假设我只需要让我的请求刷新。但是,在等待周末后,我回来了,仍然收到错误消息。
  • 当消息仍然存在时,我在Google开发人员控制台中使用新的服务帐户创建了一个新项目。此项目也是使用同一域下的其他电子邮件(此电子邮件属于管理员(创建的。项目的第一个请求导致了相同的错误。 在
    • 测试期间,原始项目在 3 天内发出了 ~500 个请求。这些请求中的大多数都是在javascript应用程序中发出的。我能够在这些活动中添加与会者。我最终使用服务帐户将请求切换到后端,此后一直无法添加与会者。

这是我用来生成事件的代码。"获取与会者"仅返回列表中每封电子邮件的"活动与会者"列表。

var attendees = GetAttendees(request.Emails);
var googleEvent = new Event()
{
Summary = request.Title,
Location = request.Location,
Description = request.Description,
Start = new EventDateTime()
{
DateTime = request.MeetingDate,
TimeZone = "America/Chicago"
},
End = new EventDateTime()
{
DateTime = request.EndTime,
TimeZone = "America/Chicago"
},
Attendees = attendees
};

与与会者一起执行任何请求都会导致以下响应:

{
"error": "Google.Apis.Requests.RequestErrorrnCalendar usage limits exceeded. [403]rnErrors [rntMessage[Calendar usage limits exceeded.] Location[ - ] Reason[quotaExceeded] Domain[usageLimits]rn]rn",
"exception": {
"ServiceName": "calendar",
"Error": {
"Errors": [
{
"Domain": "usageLimits",
"Reason": "quotaExceeded",
"Message": "Calendar usage limits exceeded.",
"LocationType": null,
"Location": null
}
],
"Code": 403,
"Message": "Calendar usage limits exceeded."
},
"HttpStatusCode": 403,
"Message": "Google.Apis.Requests.RequestErrorrnCalendar usage limits exceeded. [403]rnErrors [rntMessage[Calendar usage limits exceeded.] Location[ - ] Reason[quotaExceeded] Domain[usageLimits]rn]rn",
"Data": {},
"InnerException": null,
"StackTrace": " ..."
},
"type": "Google.GoogleApiException"
}
这可能是

一个错误

目前,许多人都遇到了类似的问题,并且在公共问题跟踪器上已经有针对此问题提交的错误报告。

有很多可能的原因Calendar usage limits exceeded,但如果您确定没有超过其中任何一个,则现有错误可能是您问题的原因。在这种情况下,我建议您给错误报告加一颗"星号",以提高其可见性,并希望它能尽快修复。

最新更新