Я использую Alamofire для загрузки видео на YouTube, используя пример кода по этой ссылке:
Загрузка видео на Youtube с использованием API REST без iOS SDK
Это работает для загрузки, но проблема в том, что я не могу найти способ правильно отправить метаданные, такие как теги и privacyStatus. Я пробовал эти строки, но это не помогает, работают только заголовок и описание, больше ничего.
let title = "Test title"
let description = "Test description"
let keywords = ["keyword1", "keyword2"]
let privacyStatus = "private"
let snippetMetadata = "{'snippet':{'title' : '\(title)', 'description':' \(description)', 'tags':'\(keywords)'}}".data(using: .utf8, allowLossyConversion: false)!
multipartFormData.append(snippetMetadata, withName: "snippet", mimeType: "application/json")
let statusMetadata = "{'status':{'privacyStatus' : '\(privacyStatus)'}}".data(using: .utf8, allowLossyConversion: false)!
multipartFormData.append(statusMetadata, withName: "status", mimeType: "application/json")
РЕДАКТИРОВАТЬ: мне удалось исправить проблему метаданных, объединив вместе статус и фрагмент json, т.е.
snippetMetadata = "{'snippet':{'title' : '\(title)', 'description':' \(description)', 'tags': \(keywords)},'status':{'privacyStatus' : '\(privacyStatus)'}}".data(using: .utf8, allowLossyConversion: false)!
Моя следующая проблема - как обрабатывать ошибки API с помощью Alamofire. Я не использовал эту библиотеку раньше, но хотел бы знать, как она отправляет ошибки.