API Календаря Google - перестает работать получение событий с использованием учетной записи службы

С понедельника 19 сентября приложение, которое мы сделали с сервисной учетной записью для извлечения всех событий из календаря в другой учетной записи, перестало работать без причины. Учетная запись службы находится в домене компании, управляемом Google для работы. Мы пытаемся получить доступ к CalendarId управляется другим пользователем и отображается на нашем веб-сайте с использованием библиотеки на стороне сервера. Google.Apis.Calendar.* в.Net. Он продолжает работать хорошо почти 2 месяца и внезапно перестает работать, показывая это [NOT_FOUND error -> при выполнении запроса (request.Execute();).

public class GCalendarService : Service
{

    public GCalendarService(X509Certificate2 certificate, String accountName, String appName) : base(certificate, accountName, appName)
    {
        this.Scopes = new string[] {
            CalendarService.Scope.Calendar, // Manage your calendars
            CalendarService.Scope.CalendarReadonly // View your Calendars
        };
        this.InitializeCredential(certificate);
        this.GService = new CalendarService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = this.Credential,
            ApplicationName = appName
        });
    }

    /// <summary>
    /// Gets all the events based on a period of time
    /// </summary>
    /// <param name="calendarId">The ID of the calendar to get the events</param>
    /// <param name="minDate">The minimun date to request</param>
    /// <param name="maxDate">The max date to request</param>
    /// <param name="maxEvents">The max amount of events to retrieve</param>
    /// <returns></returns>
    public Object GetEvents(string calendarId, DateTime? minDate, DateTime? maxDate, int maxEvents) 
    {
        EventsResource.ListRequest request = ((CalendarService)this.GService).Events.List(calendarId);
        request.TimeMin = DateTime.Now;
        request.ShowDeleted = false;
        request.SingleEvents = true;
        request.MaxResults = maxEvents;
        request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime;
        return request.Execute();
    }

Есть ли какое-то обновление в учетных записях Администратора приложений для домена, какая-то новая конфигурация, сделанная со стороны Google? потому что мы ничего не изменили. Вот некоторые из тестов, которые мы сделали:

  1. Создайте новый календарь с электронной почтой компании (сделайте это с разными электронными письмами компании) и поделитесь календарем с разрешением "просмотреть сведения" с учетной записью службы -> НЕ РАБОТАЙТЕ
  2. Создайте новый календарь с моей личной учетной записью Gmail и поделитесь календарем с разрешением "Просмотр сведений" с учетной записью службы -> РАБОТАЕТ
  3. Предоставить общий доступ к основному календарю или календарю учетной записи по умолчанию с разрешением "Просмотр сведений" для учетной записи службы -> РАБОТА

ВАЖНО: ИД КАЛЕНДАРЯ ПРАВИЛЬНЫЙ, ПОЛНОМОЧИЯ СЧЕТА ОБСЛУЖИВАНИЯ И РАЗРЕШЕНИЕ НА КАЛЕНДАРЬ СЛИШКОМ, я уже доказываю это, и он получает события из календарного идентификатора в помощнике "ПОПРОБОВАТЬ" на сайте разработчика, чтобы получить доступ к их конечной точке. также любой аккаунт в домене имеет доступ к этому календарю. Вот скриншот настроек общего доступа к календарю. Также мы постарались создать новые сервисные аккаунты и новые календари. Если бы у кого-то была идея, я был бы очень благодарен, я был бы очень признателен, я провел много исследований, и ничто не кажется решением.

0 ответов