API Календаря Google для iOS Swift
Я работал над приложением для извлечения событий из Календаря Google с помощью API Календаря Google. У них была хорошая процедура и быстрый код на веб-сайте еще в мае 2018 года, и я запустил его в своем приложении. Благодаря этой процедуре я могу извлечь события из Календаря Google в свое приложение. Теперь я хочу создать событие или изменить событие в своем приложении и импортировать его в Календарь Google. Пошел на сайт API Календаря Google полностью изменен и заменен API G Suite для iOS. Я не могу найти в интернете ничего связанного со старой процедурой. Может ли кто-нибудь, кто работает с Google Calendar API, помочь? Любые идеи о том, как обновить API Календаря Google с новым событием или изменением в событии?
0 ответов
Что касается вашего исходного вопроса, записи событий в Календарь Google, я смог использовать следующую функцию:
func writetoGC(token:String, startTime: String, endTime: String, summary: String, description: String) {
let url = URL(string: "https://www.googleapis.com/calendar/v3/calendars/{YOUR CALENDAR ID HERE}/events")
let summary1 = confirmationCode + "; " + summary
let session = URLSession.shared
print(session)
var request = NSMutableURLRequest(url: url!)
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
request.httpMethod = "POST"
print(request)
// token, startTime, endTime, summary, description
var myHttpBody: Data = """
{
"end": {
"dateTime": "\(endTime)",
"timeZone": "America/Chicago"
},
"start": {
"dateTime": "\(startTime)",
"timeZone": "America/Chicago"
},
"summary": "\(summary1)",
"description": "\(description)"
}
""".data(using: .utf8)! as Data
do {
request.httpBody = myHttpBody
} catch let error {
print(error.localizedDescription)
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
print("Request: ")
print(request.description)
print(request.allHTTPHeaderFields)
print("Body is:")
print(request.httpBody)
let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
guard error == nil else {
return
}
guard let data = data else {
return
}
sleep(1)
do {
//create json object from data
if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
print("Response is:")
print(json)
print("Description:")
print(json.description)
print("Debug Description:")
print(json.debugDescription)
// handle json...
}
} catch let error {
print("Error during Serialization:")
print(error.localizedDescription)
}
})
task.resume()
//verifyEntry()
}
Поэтому в этом коде я передаю код подтверждения в дополнение к сводке событий. Код подтверждения - тот, который я генерирую сам. Вам не понадобится эта часть кода, если вам не нужен код подтверждения в вашем резюме. Как видите, я уже получил токен OAuth 2.0 и вставил его в функцию.
Что касается редактирования событий, не должно быть сложно изменить приведенный выше код, чтобы изменить событие.