如何在iOS中使用swift获取身份验证令牌后获取foursquare用户信息

时间:2016-02-05 11:09:31

标签: swift2 foursquare xcode7.1 ios9.2

我正在尝试将foursquare api集成到应用程序中,成功登录并获得authtoken。现在我需要使用authtoken获取登录用户信息,如何获取userinfo(如username和emailId等)。请帮帮我。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

    // Construct url object via string
    let url = NSURL(string: "https://api.foursquare.com/v2/users/self?oauth_token=(YOUR_OAUTH_TOKEN)&v=20160207")
    let config = NSURLSessionConfiguration.defaultSessionConfiguration()
    let session = NSURLSession(configuration: config)
    let req = NSURLRequest(URL: url!)

    // NSURLSessionDownloadTask is retured from session.dataTaskWithRequest
    let task = session.dataTaskWithRequest(req, completionHandler: {
        (data, resp, err) in
        print(NSString(data: data!, encoding: NSUTF8StringEncoding))

        do {
            let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)

            if let response = json["response"] as? [String: AnyObject] {
                if let user = response["user"] as? [String: AnyObject] {
                    if let name = user["firstName"] as? String {
                        // User name
                        print(name)
                    }
                }
            }
        } catch {
            print("error serializing JSON: \(error)")
        }

    })
    task.resume()

如果您使用https://github.com/SwiftyJSON/SwiftyJSON,则可以轻松处理JSON数据。