Home Articles

无法通过Google Apps脚本中的YouTube Data API从 Cloud 端硬盘上传:空响应

Asked
Viewed 1237 times
3

我正在尝试将Google Cloud 端硬盘中的文件列表导入YouTube . 元数据和文件的URL位于Google电子表格中,因此我使用Google Apps脚本编写了一些代码来执行以下操作

  • 获取所选行

  • 检索 Headers ,说明,Google Cloud 端硬盘URL

  • 通过DriveApp.getFileById从Google Cloud 端硬盘加载文件

  • 使用 Headers 和说明通过YouTube.Videos.insert将blob上传到YouTube

  • 使用响应中的YouTube视频ID更新所选行

上传看起来像这样

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 电话的回复 . catch中记录以下内容:

消息:错误空响应错误:异常:空响应

不是很有帮助 .

在上传之前,我会使用YouTube.Channels.list来获取目标 Channels ,以防有多个 Channels 可用 . 对于此请求,我必须允许访问我的数据,并且只在第一次调用时询问 . 我还在applications for my Google account列表中看到了该脚本 . 我认为权限还可以 .

关于如何获得有关该问题的更多信息的任何建议,或者我应该采取哪些不同的做法?


关于目标 Channels (这可能是一个不同的问题),我无法真正使用它,因为我似乎只能上传到特定 Channels ,如果我是YouTube内容合作伙伴(请参阅参数onBehalfOfContentOwneronBehalfOfContentOwnerChannel):

注意:此参数仅适用于YouTube内容合作伙伴 .

1 Answer

Related