Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func getShortlinkFromLonglink(fromURL url: URL, completionHandler: @escaping (_ shortlink: String?) -> ()) {
- let parameters = ["longDynamicLink": url.absoluteString,
- "suffix": ["option": "SHORT"]] as [String : Any]
- guard let url = URL(string: "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=AIzaSyCAJztEvOtrkQ-zk5yTjvArR9i-Dqpj5_8") else {
- completionHandler(nil)
- return
- }
- let session = URLSession.shared
- var request = URLRequest(url: url)
- request.httpMethod = "POST"
- do {
- request.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
- } catch let error {
- print(error.localizedDescription)
- completionHandler(nil)
- return
- }
- request.addValue("application/json", forHTTPHeaderField: "Content-Type")
- request.addValue("application/json", forHTTPHeaderField: "Accept")
- let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
- guard error == nil, let data = data else {
- completionHandler(nil)
- return
- }
- do {
- if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
- completionHandler(json["shortLink"] as! String)
- }
- } catch let error {
- print(error.localizedDescription)
- completionHandler(nil)
- return
- }
- })
- task.resume()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement