У меня есть приложение iOS (swift), в котором я могу войти в свою учетную запись google и получить токен доступа.Загрузка видео на youtube из приложения iOS возвращает 400
После получения токена доступа я делаю запрос на отправку на YouTube для загрузки видео.
Обнаружена ошибка заключается в следующем
{error =
{code = 400;
errors =({domain = global;
location = part;
locationType = parameter;
message = \"Required parameter: part\";
reason = required;});
message = \"Required parameter: part\";};}"
Ниже код, который я использую, чтобы сделать пост запрос.
func postVideoToYouTube(token: String, callback: @escaping (Bool) -> Void){
if videoPath == nil {
return
}
var movieData: NSData?
do {
movieData = try NSData(contentsOfFile: (videoPath?.relativePath)!, options: NSData.ReadingOptions.alwaysMapped)
} catch _ {
movieData = nil
return
}
let headers = ["Authorization": "Bearer \(token)"]
let URL = try! URLRequest(url: "https://www.googleapis.com/upload/youtube/v3/videos", method: .post, headers: headers)
print("Video Data",movieData)
Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append(movieData as! Data, withName: "video", fileName: "video.mp4", mimeType: "application/octet-stream")
}, with: URL, encodingCompletion: {
encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint("SUCCESS RESPONSE1: \(response)")
}
case .failure(let encodingError):
print("ERROR RESPONSE: \(encodingError)")
}
})
}
Ранее ошибка 403 запрещено, но я добавил «https://www.googleapis.com/auth/youtube.force-ssl» размаху и теперь я получаю 400.
Любая помощь будет оценена. Спасибо.
В нем говорится, что в HTTP-запросе требуется параметр «часть», что говорит API Youtube для этого параметра и почему его нет в запросе? (Я уверен, что это не MultipartFormData, а какой-то другой параметр, который хочет Youtube) – zezioen