在浏览器和Xcode控制台中获得不同的JSON响应

时间:2017-06-26 21:32:54

标签: json swift parsing

我使用此API来解析视频链接并获得该视频的直接链接。当我在浏览器中执行请求时,这就是我得到的

Reply in the browser

但是,当我在Xcode中发出请求时,它会向控制台输出不同的响应。

Xcode Consol

这是我的代码

import UIKit
import Alamofire
import SwiftyJSON

class ViewController: UIViewController {    
override func viewDidLoad() {
    super.viewDidLoad()
    parseData()
    // Do any additional setup after loading the view, typically from a nib.
}

func parseData(){
    var requestedLink: String
    let streamableLink = "https://api.streamable.com/import?url="
    requestedLink = "https://instagram.com/p/BVn8hvZgNQW/"
    let url1 = URL(string: "\(streamableLink)\(requestedLink)")
    print(url1)
    // parse data to the STREAMABLE API
    Alamofire.request("\(streamableLink)\(requestedLink)", method: .get, parameters: nil, encoding: JSONEncoding.default).responseJSON { response in
        print(response)
        switch response.result {
        case .success(let value):
            let json = JSON(value)
            let firstReply = json["shortcode"].stringValue
            print(firstReply)


            var shortCode: String
            let secondLinkToParse = "https://api.streamable.com/videos/"
            shortCode = "\(firstReply)"
            let url2 = URL(string: "\(secondLinkToParse)\(shortCode)")
            print(url2)
            // parse data to the STREAMABLE API
            Alamofire.request("\(secondLinkToParse)\(shortCode)", method: .get, parameters: nil, encoding: JSONEncoding.default).responseJSON { response in
                print(response)
                switch response.result {
                case .success(let value):
                    let json = JSON(value)
                    let secondReply = json["url"].stringValue
                    print(secondReply)

                case .failure(let error):
                    print(error)

                }

            }
            case .failure(let error):
            print(error)

        }
    }
}
}

我的问题是为什么回答会有所不同?我将如何解决它? 我的猜测是,请求可能需要参数吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

对于任何有兴趣使用streamable API的人来说,我没有获得url值的原因是因为视频需要时间来处理。如果百分比为100,则会有一个url值。