#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. Я уже пытался изменить порядок, как я сказал, но это тоже не сработало.