API Календаря Google: превышено 403 предела использования Календаря при использовании учетной записи службы - PullRequest
1 голос
/ 02 октября 2019

Вся сторона приложения, обращенная к Google, написана на .NET.

Я пытаюсь использовать служебную учетную запись, созданную учетной записью администратора, для создания событий на ресурсе. Я могу создавать события и указывать любые параметры, кроме участников.

Пара замечаний:

  • У нас есть лицензия ag suite, и она находится в пределах нашей квоты.
  • У учетной записи службы есть доступ на запись в календарь.
  • Я пытался добавлять участников только в своем домене, и это не решает проблему.
  • Я пытался не отправлять уведомления по электронной почте и не получатьтот же ответ.
  • Все события добавляются в один и тот же календарь.
  • Запросы без посетителей работают совершенно нормально.
  • Я видел эту страницу: https://support.google.com/a/answer/2905486?hl=en и предположил, что мне просто нужно, чтобы мои запросы обновлялись. Однако после ожидания выходных я вернулся и все еще получил сообщение об ошибке.
  • Когда сообщение не исчезло, я создал новый проект в консоли разработчика Google с новой учетной записью службы. Этот проект также был выполнен с использованием другого электронного адреса (этот адрес принадлежал администратору) в том же доменеПервый запрос на проект привел к той же ошибке.
    • Первоначальный проект сделал ~ 500 запросов в течение 3 дней во время тестированияБольшинство из этих запросов были сделаны в приложении JavaScript. Я был в состоянии добавить посетителей в этих событиях. В конце концов я переключил запросы на сервер с учетной записью службы и с тех пор не смог добавить участников.

Этот код я использую для генерации события. ,Get Attendees просто возвращает список EventAttendees для каждого электронного письма в списке.

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.RequestError\r\nCalendar usage limits exceeded. [403]\r\nErrors [\r\n\tMessage[Calendar usage limits exceeded.] Location[ - ] Reason[quotaExceeded] Domain[usageLimits]\r\n]\r\n",
  "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.RequestError\r\nCalendar usage limits exceeded. [403]\r\nErrors [\r\n\tMessage[Calendar usage limits exceeded.] Location[ - ] Reason[quotaExceeded] Domain[usageLimits]\r\n]\r\n",
    "Data": {},
    "InnerException": null,
    "StackTrace": " ..."
  },
  "type": "Google.GoogleApiException"
}

1 Ответ

1 голос
/ 07 октября 2019

Это может быть ошибкой

В настоящее время многие люди сталкиваются с подобной проблемой, и уже есть зарегистрированное сообщение об ошибке для этой проблемы в трекере открытых вопросов.

Существует множество возможных причин для Calendar usage limits exceeded, но если вы уверены, что не превышаете ни одного из них, вполне возможно, что существующая ошибка является причиной вашей проблемы. В этом случае я предлагаю вам поставить «звездочку» в отчете об ошибке, чтобы повысить ее наглядность, и надеюсь, что она скоро будет исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...