이 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)
}
}
}
}
내 질문은 왜 응답이 다를까요? 어떻게 해결할 수 있습니까? 내 생각 엔 아마도 요청에 매개 변수가 필요할까요?
어떤 아이디어?
스트리밍 가능한 API를 사용하는 데 관심이있는 사람에게 URL 값을 얻지 못하는 이유는 동영상 처리에 시간이 걸리기 때문입니다. 백분율이 100이면 url에 대한 값이 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다