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