Я пытаюсь загрузить видео на YouTube с помощью REST API YouTube через Swift из приложения ios, но мне очень трудно понять, что делать.Я использовал следующий код для загрузки видео на YouTube из приложения.
func postVideoToYouTube(uploadUrl: String, videoData: Data, title: String, description: String, callback: @escaping PostVideoCallback){
if (self.authorizer != nil) && (self.authorizer?.canAuthorize)! {
self.servive?.apiKey = kGoogleAPIKey
self.servive?.authorizer = authorizer
let status = GTLRYouTube_VideoStatus()
status.privacyStatus = "public"
let snippet = GTLRYouTube_VideoSnippet()
snippet.title = title
let desc = description
if desc.count > 0 {
snippet.descriptionProperty = desc
}
var video = GTLRYouTube_Video()
video.status = status
video.snippet = snippet
// ---------------------
let accessToken = UserDefaults.standard.string(forKey: kAccessToken) ?? ""
let headers: HTTPHeaders = ["Authorization": "Bearer \(accessToken)"]
Alamofire.upload(
multipartFormData: { multipartFormData in
let metadata = "{'snippet':{'title' : '\(title)', 'description': '\(description)'}}".data(using: .utf8, allowLossyConversion: false)!
multipartFormData.append(metadata, withName: "snippet", mimeType: "application/json")
multipartFormData.append(videoData, withName: "video", fileName: "demo2.mov", mimeType: "application/octet-stream")
},
to: "https://www.googleapis.com/upload/youtube/v3/videos?part=snippet",
headers: headers,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
print(response.result.value)
do {
let jsonData = try JSONSerialization.jsonObject(with: response.data!, options: .allowFragments) as! JSON
} catch {
print("error serializing JSON: \(error)")
callback("", false)
}
print("Success")
}
case .failure(_):
print("Failure")
callback("", false)
}
})
}
}
, и я получаю следующий ответ от Youtube
`Optional({
etag = "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/CAh7qTdnefHn2x9Fdt7z11TW1HM\"";
id = muradZ51g78;
kind = "youtube#video";
snippet = {
categoryId = 22;
channelId = UCfI1223CGZiSGVKhapRfc4Q;
channelTitle = "Khushbu Desai";
description = Test;
liveBroadcastContent = none;
localized = {
description = Test;
title = Video;
};
publishedAt = "2018-10-10T07:09:40.000Z";
thumbnails = {
default = {
height = 90;
url = "https://i.ytimg.com/vi/muradZ51g78/default.jpg";
width = 120;
};
high = {
height = 360;
url = "https://i.ytimg.com/vi/muradZ51g78/hqdefault.jpg";
width = 480;
};
medium = {
height = 180;
url = "https://i.ytimg.com/vi/muradZ51g78/mqdefault.jpg";
width = 320;
};
};
title = Video;
};
})
Success`
, но я не нашел это видео на своем канале,как я получаю видео не удалось на YouTube Studio
Пожалуйста, проверьте это изображение Пожалуйста, помогите