Как исправить уведомления с помощью Календаря Google - PullRequest
3 голосов
/ 09 апреля 2019

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

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

Что происходит, так это то, что этот пользователь, которого я добавил через правило, не получает уведомления, созданные в 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();

}
...