【问题标题】:Getting "Calendar usage limits exceeded" on creating google calendar events [duplicate]在创建谷歌日历事件时获得“超出日历使用限制”[重复]
【发布时间】:2021-02-18 19:53:42
【问题描述】:

我想要实现的目标: - 我正在尝试创建一个应用程序,通过它我可以创建多个日历事件,每个事件在特定时间有 4 名与会者。例如:我应该能够向不同的群组发送不同的见面链接,但在特定时间向该群组的成员发送相同的见面链接。

例如:
组 1 有 4 个成员 (m1,m2,m3,m4)
第 2 组有 4 个成员 (m5,m6,m7,m8)

我应该能够为每个在与会者中有各自成员的组生成两个日历事件。 当事件被创建时,用户应该得到事件的通知。

注意:与会者在我的域之外。

技术栈 - 使用 googleapis npm 包和应用程序在 node.js 中

问题 - 我正在创建多个事件,但只创建了 4 到 5 个事件后,我开始收到错误消息“超出日历使用限制”。

我的代码片段

module.exports = {
  scheduleHangoutMeeting: (createLinkObj) => {
    return new Promise((resolve, reject) => {
      fs.readFile(CREDENTIAL_PATH, async (err, content) => {
        if (err) resolve(err);
        try {
          let auth = await authorize(JSON.parse(content));
          let calendarEvent = await createCalendarEvents(auth, createLinkObj);
          resolve(calendarEvent);
        }
        catch (err) {
          resolve(err);
        }
      });
    });
  } 
};
let createCalendarEvents = (auth, meetingObj) => {
  return new Promise(async (resolve, reject) => {
    
    let createEvent = {
      summary: 'Testing Calendar Api',
      description: 'Please ignore this events is for testing purpose',
      start: {
        dateTime: meetingObj.start_time,
        timeZone: 'Asia/Kolkata',
      },
      end: {
        dateTime: meetingObj.end_time,
        timeZone: 'Asia/Kolkata',
      },
      attendees: meetingObj.attendees,
      reminders: {
        useDefault: false,
        overrides: [
          { method: 'email', minutes: 24 * 60 },
          { method: 'popup', minutes: 10 },
        ],
      },
      conferenceData: {
        createRequest: {
          requestId: 'someRandomKey',
        },
      },
      guestsCanSeeOtherGuests: false
    };

    try {
      let calendarEvent = await calendar.events.insert(
        {
          auth: auth,
          calendarId: 'primary',
          resource: createEvent,
          sendNotifications: true,
          conferenceDataVersion: 1
        }
      );
      resolve(calendarEvent.data);
    } 
    catch (err) {
      reject(err);
    }
  });
}

我在 stackoverflow 上经历了各种问题,其中谈到了配额,但我的事件数量要少得多并且在配额之内。您可以参考以下屏幕截图了解查询数量。 2 月 19 日,只有 6 个查询,之后我们开始收到错误,如果我们计算迄今为止发送给 google 的查询总数,它将是 190 左右。谁能让我知道我做错了什么。

错误信息

代码:403,错误:[ { 域:'usageLimits', 原因:'quotaExceeded', 消息:“超出日历使用限制。” } ]

配额截图

【问题讨论】:

  • 团队,这个问题link和我的差不多。但这并不能解决我的问题,因为它仅说明了出现这种情况的条件,但没有说明是否有任何人没有超过该限制,为什么他会收到该错误。在那个问题中,用户每天进行 2500 次查询,但我只创建了大约 60 个事件并开始收到错误。因此,请您重新打开此问题,以便我可以找到解决问题的方向。

标签: google-api google-oauth google-calendar-api google-workspace google-apis-explorer


【解决方案1】:

超出日历使用限制 - API 调用的结果。

为避免超出日历限制,请遵循以下准则:

不要...

  1. 创建的事件过多

如果您在短时间内在日历中创建超过 100,000 个事件,您可能会在几个小时内失去日历编辑功能。 完全补充此限制类型可能需要几个月的时间。

  1. 创建的日历过多

如果您在短时间内创建超过 60 个新日历,您的日历可能会进入只读模式几个小时。 完全补充此限制类型可能需要几个小时。

  1. 向外部客人发送过多邀请

为防止垃圾邮件,Google 日历限制了用户向外部客人发送的邀请数量。如果用户在短时间内发送 10,000 个邀请,则用户的日历可能会进入只读模式。 邀请您的主域或辅助域中的 G Suite 用户不会使用此限制类型。您网域中不在 G Suite 系统上的用户被视为外部用户。 完全补充此限制类型可能需要几天时间。

  1. 通过 Google 日历活动向过多客人发送电子邮件

为防止垃圾邮件,Google 日历通过“向访客发送电子邮件”功能限制了用户可以发送给外部访客的电子邮件数量。 对您的主域或辅助域中的 Google Workspace 用户使用“电子邮件访客”功能不会消耗此限制类型。 此限制会在 24 小时内逐渐补充。

  1. 与太多用户共享日历

如果您在短时间内与许多用户共享日历,您可能会在几个小时内无法共享日历。 完全补充此限制类型可能需要几个小时。

参考:

请参阅 Google 支持页面参考链接以避免日历使用限制,并遵循此页面上的指南(与我上面指出的相同)以避免超出限制:https://support.google.com/a/answer/2905486?hl=en

【讨论】:

  • 感谢 Monique 提供的详细信息。我已经浏览了文档。但问题是我相信,我没有超过文档中提到的任何限制,然后我也得到了错误。有没有办法知道我已经越过了哪个限制,如果有的话。
  • 我添加了最新的配额截图@Monique G。在这里您可以看到 2021 年 2 月 19 日发送的查询数量仅为 6,这远低于谷歌支持中提到的允许限制docs 然后我也收到错误消息。您能否提出可能的问题。
猜你喜欢
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多