Отличный ответ! Я не проверял предоставленное вами решение, но думаю, что в этом причина. Причина запуска внутри скрипта приложений заключается в том, что я хотел избежать работы с сетью на стороне клиента, поэтому я помещу все в сценарий для запуска за пределами клиента.

аюсь импортировать список файлов с Google Drive на YouTube. Метаданные и URL-адрес файла находятся в электронной таблице Google, поэтому я написал некоторый код с помощью скрипта Google Apps, который выполняет следующие действия.

Получить выбранные строкиПолучить заголовок, описание, Google Drive URLЗагрузите файл с Google Drive черезDriveApp.getFileByIdЗагрузите BLOB-объект на YouTube, используя заголовок и описание черезYouTube.Videos.insertОбновите выбранную строку идентификатором видео YouTube из ответа

Загрузка выглядит примерно так

var blob = DriveApp.getFileById(id).getBlob();
var resource = {
    snippet: {
        title: 'The title',
        description: 'A long description ...',
        defaultLanguage: 'de',
        categoryId: 17,
        tags: [ 'Sport', 'Fitness' ],
    },
    status: {
        privacyStatus: 'unlisted'
    }
}
try {
    var result = YouTube.Videos.insert(resource, "snippet,status", blob);
    return result.id;
} catch (err) {
    console.log({message: 'Error ' + err.message, error: err});
}

Этот код уже работал около года назад. Я немного адаптировал его, но теперь не получаю ответа отYouTube.Videos.insert вызов. Следующее зарегистрировано внутри улова:

сообщение: Ошибка Пустой ответ

ошибка: исключение: пустой ответ

Не очень полезно.

Перед загрузкой я делаюYouTube.Channels.list чтобы получить целевой канал, если доступно несколько каналов. Для этого запроса мне нужно разрешить доступ к моим данным, и меня спрашивают только при первом вызове. Я также вижу сценарий в спискеприложения для моей учетной записи Google, Я предполагаю, что разрешения в порядке.

Любые предложения о том, как я могу получить больше информации по этому вопросу, или я должен сделать что-то по-другому?

Что касается целевого канала (и это может быть другой вопрос), я не могу использовать это, так как кажется, что я могу загрузить только на определенный канал, если я являюсь партнером по контенту YouTube (см. ПараметрыonBehalfOfContentOwner а такжеonBehalfOfContentOwnerChannel):

Запись: Этот параметр предназначен исключительно для контент-партнеров YouTube.

Ответы на вопрос(1)

Ваш ответ на вопрос