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 и вставил его в функцию.

Что касается редактирования событий, не должно быть сложно изменить приведенный выше код, чтобы изменить событие.

Другие вопросы по тегам