如何从swift中的谷歌日历API获取JSON?

时间:2015-04-08 01:14:34

标签: ios swift api google-calendar-api

我想要做的是将谷歌日历中的数据同步到我的应用程序。

我现在可以使用google +帐户登录我的应用程序,那么如何使用我的帐户ID和密码从日历中获取私有JSON数据?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我能够使用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 Calendar 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