Я занимаюсь разработкой приложения в Swift и пытаюсь добавить событие в Календарь Google. В моем делегате приложения пользователь входит в систему, и у меня есть:
GIDSignIn.sharedInstance()?.clientID = "498336876169-c0tedkl028ga401h2qj4g4gelnr68pen.apps.googleusercontent.com"
В моем контроллере представления, где я должен sh вставить событие, у меня есть этот метод:
func addEventToGoogleCalendar(event: Event) {
let calendarEvent = GTLRCalendar_Event()
calendarEvent.summary = event.eventName
calendarEvent.descriptionProperty = event.eventDescription
let startDate = event.startTime
let endDate = event.endTime
calendarEvent.start = buildDate(date: startDate)
calendarEvent.end = buildDate(date: endDate)
let insertQuery = GTLRCalendarQuery_EventsInsert.query(withObject: calendarEvent, calendarId: "primary")
service.executeQuery(insertQuery) { (ticket, object, error) in
if error == nil {
print("Event inserted")
} else {
print("error", error)
}
}
}
После тестирования этого метода я смог успешно получить информацию о событии, но когда я пытаюсь вставить событие, я получаю эту ошибку:
Optional(Error Domain=com.google.GTLRErrorObjectDomain Code=401 "Login Required" UserInfo={GTLRStructuredError=GTLRErrorObject 0x2834787e0: {message:"Login Required" errors:[1] code:401}, NSLocalizedDescription=Login Required})
Я не уверен, что именно вызывает ошибку , поскольку пользователь входит в класс AppDelegate. Я пытался найти решения в Интернете, но заметил, что документации по использованию GoogleCalendar API в Swift не так много.