Swift 获得;解析错误“;向YouTube数据API发送启动可恢复上载会话的请求时
我试着按照这个指南开始一个可恢复的会话 但服务器返回此响应:Swift 获得;解析错误“;向YouTube数据API发送启动可恢复上载会话的请求时,swift,alamofire,youtube-data-api,Swift,Alamofire,Youtube Data Api,我试着按照这个指南开始一个可恢复的会话 但服务器返回此响应: 成功({ 错误={ 代码=400; 错误=( { 域=全局; message=“解析错误”; 原因=错误; } ); message=“解析错误”; }; }) Swift 5/Alamofire 5 let filePath = "/Users/lucas/Documents/test.mp4" do{ let attr = try FileManager.default.attributesOfI
成功({
错误={
代码=400;
错误=(
{
域=全局;
message=“解析错误”;
原因=错误;
}
);
message=“解析错误”;
};
})
Swift 5/Alamofire 5
let filePath = "/Users/lucas/Documents/test.mp4"
do{
let attr = try FileManager.default.attributesOfItem(atPath: filePath)
let dict = attr as NSDictionary
let fileSize = dict.fileSize()
let dicSnippest = ["title": "TestVideo",
"description": "_description_",
"tags":"gundam",
"catagoryId":"22"]
let dicStatus = ["privacyStatus": "private",
"embedded": "True",
"license": "youtube"]
let sessionParam = ["snippet": dicSnippest,
"status": dicStatus
]
let targetUrl = "https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=snippet,status"
let sessionHeaders = HTTPHeaders([
"Authorization": "Bearer \(token)",
"Content-Type": "application/json; charset=utf-8",
"Content-Length": "\(fileSize)",
"X-Upload-Content-Length": "\(fileSize)",
"X-Upload-Content-Type": "application/octet-stream"])
print("token: \(token)")
print("\(filePath): \(fileSize) bytes")
AF.request(targetUrl, method: .post, parameters: sessionParam, encoding: URLEncoding.default, headers: sessionHeaders).responseJSON {
response in
print("Http Status Code: \(String(describing: response.response?.statusCode))")
switch (response.result)
{
case .success(_):
print("Get Server Response!!")
print(response.result)
break
case .failure(let error):
print("Failure!!")
print(error)
break
}
}
} catch {
}
顺便说一句,我将AF.request
-encoding
的参数从URLEncoding.httpBody
修改为JSONEncoding.default
发生以下错误:
responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
s/categoryId/categoryId/在修复打字错误后仍然得到相同的结果