我想要做的是将 Google 日历中的数据同步到我的应用程序。
我现在可以使用Google+帐户登录我的应用程序,那么如何使用我的帐户ID和密码从日历中获取私有JSON数据?
我能够使用 Google Calendar API 通过 HTTP 请求检索 JSON 数据。例如,下面是一个代码片段,用于请求检索我的日历元数据:
let url = NSURL(string: "https://www.googleapis.com/calendar/v3/calendars/calendarId")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
let dataAsNSString = NSString(data: data, encoding: NSUTF8StringEncoding)
// implement your app logic
}
task.resume()
就在应用程序和 Google 日历之间同步数据而言,您可以实现回调以通过 Google 日历 API 发出 PUT 请求来更新。例如,以下是回调函数的代码片段,用于发出 PUT 请求以与您的 Google 日历同步:
func updateUserDataToGoogleCalendar(calendarId: String) {
let url = NSURL(string:"https://www.googleapis.com/calendar/v3/calendars/calendarId")
let dataAsString = "sync data"
var data: NSData? = dataAsString.dataUsingEncoding(NSUTF8StringEncoding)
var headers = Dictionary<String, String>() // specify any headers
Http().put(url!, headers: headers, data:data!) { (result) in
if result.success {
if let json: AnyObject = result.jsonObject {
// implement your app logic
}
}
}
有许多可用的 Swift HTTP 包装器库。在我的示例中,我使用的是 Swift HTTP。