Ios 使用swift3如何使用alamofire在youtube上上传视频?
目前,我正在使用Alamofire上传功能将视频上传到youtube上。但我从响应中收到一条错误消息。 我使用的代码如下Ios 使用swift3如何使用alamofire在youtube上上传视频?,ios,swift3,Ios,Swift3,目前,我正在使用Alamofire上传功能将视频上传到youtube上。但我从响应中收到一条错误消息。 我使用的代码如下 The response is SUCCESS: { error = { code = 401; errors = ( { domain = global; location = Authorizati
The response is SUCCESS: {
error = {
code = 401;
errors = (
{
domain = global;
location = Authorization;
locationType = header;
message = "Login Required";
reason = required;
}
);
message = "Login Required";
};
}
var视频数据:NSData
func postVideoToYouTube(token: String, callback: @escaping (Bool) -> Void){
let videoPath = Bundle.main.path(forResource: "video", ofType: "mp4")
do{
videodata = try NSData(contentsOfFile: videoPath!, options:NSData.ReadingOptions.alwaysMapped)
}
catch _ {
videodata = nil
return
}
let headers: HTTPHeaders = [ "auth-token": "\(String(describing: userToken))" ]
let URL = try! URLRequest(url: "https://www.googleapis.com/upload/youtube/v3/videos?part=id", method: .post, headers: headers)
Alamofire.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(videodata! as Data, withName: "video", fileName: "video.mp4", mimeType: "application/octet-stream")
},
with: URL,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (Progress) in
print("Upload Progress:%d", Progress)
})
upload.responseJSON { response in
print(response.request!) // original URL request
print(response.response!) // URL response
print(response.data!) // server data
print(response.result)
if((response.result.value) != nil) {
print("response is",response)
callback(true)
} else {
print("else")
callback(false)
}
}
case .failure( _):
break
}
})
}
我得到一个错误如下
The response is SUCCESS: {
error = {
code = 401;
errors = (
{
domain = global;
location = Authorization;
locationType = header;
message = "Login Required";
reason = required;
}
);
message = "Login Required";
};
}
实际上,我不知道它为什么会显示此错误消息,但我尝试使用Gmail登录,但它不起作用。希望任何人都能帮助我。您是否在“auth token”中传递userToken值?没有HTTP头
auth token
。通常是授权
。你确定那个标题吗?顺便说一句,一旦你完成了这个任务,我可能倾向于使用后台会话进行上传(这对于Alamofire来说无疑是一个麻烦)因为上载视频有时可能需要很长时间,并且您可能不希望应用程序在上载过程中依赖于留在应用程序中的用户。您是否在“auth token”中传递userToken值?没有HTTP头auth token
。通常是授权
。你确定那个标题吗?顺便说一句,一旦你完成了这个任务,我可能倾向于使用后台会话进行上传(这对于Alamofire来说无疑是一个麻烦),因为上传视频有时可能需要很长时间,你可能不希望应用程序在上传过程中依赖于用户留在应用程序中。