Как исправить уведомления с помощью Календаря Google

#c# #google-api #google-calendar-api #google-oauth #google-api-dotnet-client

#c# #google-api #google-calendar-api #google-oauth #google-api-dotnet-client

Вопрос:

Я выполняю интеграцию с Календарем Google, и у меня возникла проблема с всплывающими уведомлениями в событиях.

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

Происходит то, что этот пользователь, которого я добавил с помощью правила, не получает уведомления, которые я создаю в CalendarList и Event.

 public void calendar()
{
    Calendar calendar = new Calendar();

    calendar.Summary = "Calendar Test";
    calendar.Description = "Calendar description";
    calendar.TimeZone = "America/Sao_Paulo";
    calendar.Location = "Name site";

    var result = service.Calendars.Insert(calendar).Execute();
}

public void calendarList(string calendarId)
{
    CalendarListEntry calendarList = new CalendarListEntry();

    calendarList.Id = calendarId;
    calendarList.Selected = true;
    calendarList.Primary = false;
    calendarList.ColorId = "11";

    calendarList.DefaultReminders = EventReminder();

    var result = service.CalendarList.Insert(calendarList).Execute();
}

public List<EventReminder> LembreteEvento()
{
    List<EventReminder> events = new List<EventReminder>();

    EventReminder reminder = new EventReminder();

    reminder.Method = "popup";
    reminder.Minutes = 5;
    events.Add(reminder);

    return events;
}

public void createRule()
{
    AclRule rule = new AclRule();
    ScopeData scope = new ScopeData();

    scope.Type = "user";
    scope.Value = "teste@gmail.com";

    rule.Role = "reader";
    rule.Scope = scope;

    var result = service.Acl.Insert(rule, idCalendario).Execute();
}

private void createEvent(string calendarId)
{
    Event event = new Event();

    event.Summary = "Name Event";
    event.Description = "Description Event";
    event.Location = "mysite";

    EventDateTime dateStart = new EventDateTime();
    dateStart.DateTime = "2019-04-09 10:00:00";

    EventDateTime dateEnd = new EventDateTime();
    dateEnd.DateTime = "2019-04-09 11:00:00";

    event.Start = dataInicio;
    event.End = dataFim;

    event.GuestsCanInviteOthers = false;
    event.GuestsCanModify = false;
    event.GuestsCanSeeOtherGuests = false;
    event.ColorId = "11";
    evento.Locked = true;
    event.PrivateCopy = true;
    event.Visibility = "public";
    event.Status = "confirmed";
    event.Transparency = "transparent";

    event.Creator = new Event.CreatorData()
    {
        DisplayName = "Name",
        Email = "teste@gmail.com"
    };

    event.Organizer = new Event.OrganizerData()
    {
        DisplayName = "Name",
        Email = "teste@gmail.com"
    };

    event.Source = new Event.SourceData()
    {
        Title = "Name",
        Url = "mysite"
    };

    event.Reminders = new Event.RemindersData()
    {
        UseDefault = true
    };

    var request = Service.Events.Insert(event, calendarId).Execute();
}

  

Комментарии:

1. Попробуйте немного изменить порядок. создать календарь -> добавить правило доступа -> добавить список календарей для пользователя правила доступа.

2. Я уже пытался изменить порядок, как я сказал, но это тоже не сработало.