我使用此API来解析视频链接并获得该视频的直接链接。当我在浏览器中执行请求时,这就是我得到的
但是,当我在Xcode中发出请求时,它会向控制台输出不同的响应。
这是我的代码
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)
}
}
}
}
我的问题是为什么回答会有所不同?我将如何解决它? 我的猜测是,请求可能需要参数吗?
有什么想法吗?
答案 0 :(得分:0)
对于任何有兴趣使用streamable API的人来说,我没有获得url值的原因是因为视频需要时间来处理。如果百分比为100,则会有一个url值。