【问题标题】:Script to upload every new video from Google Drive to YouTube将每个新视频从 Google Drive 上传到 YouTube 的脚本
【发布时间】:2021-05-22 17:30:38
【问题描述】:

我需要帮助来创建一个脚本,以使用机器人将我发送到 Google 云端硬盘的新视频上传到 YouTube。我已经完成了大部分代码,但我无法在任何地方找到如何获取新的视频 URL 及其元数据,有人可以帮我吗?这是我到目前为止写的代码:

function upload(url, title, description, topics) {
    try{
        var video = UrlFetchApp.fetch(url);
        YouTube.Videos.insert({
            snippet:{
                title: title,
                description: description,
                tags: topics
            },
            status:{
              privacyStatus: "unlisted",
            },
        },"snippet,status", video);
        return ContentService.createTextOutput("done")
    }catch (err){
      return ContentService.createTextOutput(err.message)
    }
}

非常感谢您的帮助!

【问题讨论】:

    标签: javascript google-apps-script google-drive-api youtube-data-api


    【解决方案1】:

    有类似的东西:

       response = YouTube.Videos.insert({
                snippet:{
                    title: title,
                    description: description,
                    tags: topics
                },
                status:{
                  privacyStatus: "unlisted",
                },
           },
           "snippet,status",
           video
       );
       Logger.log(JSON.stringify(response));
    

    在上面,response 是一个 Video resource,其中包含与您新上传的视频相关联的元数据。

    从那里你可以根据需要使用response;例如,新上传视频的视频ID为response.id。根据 ID,您可以将该视频的 URL 组成为:

    url = "https://www.youtube.com/watch?v="
            .concat(response.id)
    

    【讨论】:

    • 我试过了,但我不知道该怎么做,我应该把这段代码粘贴到那里,它应该可以运行吗?我试图了解它是如何在上传谷歌驱动器视频链接时获取它们的,但我不明白,我无法完成这项工作。请你解释清楚一点好吗?
    • 重点是调用YouTube.Videos.insert(...)返回一个对象,一个video resource对象。返回的对象分配给response。从那里您可以根据需要使用response;例如,新上传视频的视频 ID 位于response.id。根据 ID,您可以将该视频的 URL 组合为 "https://www.youtube.com/watch?v=".concat(response.id)
    • 我明白了,现在我的想法好多了,我想我可以让它工作,但无论如何,你解释了我不知道我需要的非常重要的事情,谢谢!问题更多地在于如何在我更新视频时获取链接,因为我不知道使用哪种方法来获取在特定时间段内上传到云端硬盘的每个新视频,但是一些算法可以解决它。
    • 例如,我不知道如何获取新视频的链接以分配给响应变量,也不知道是否有它的功能,或者机器人是否应该按日期和内容手动查找视频。
    • @Pedro:我想你的机器人应该以某种方式在驱动器上(在一种小型数据库中)记录它上传的视频的 ID 以及视频文件名(可能还有更多附加到这些文件的信息) ID;例如存储在publishedAt 中的日期和时间)。这样,您的机器人可以轻松地确定下一次应该将驱动器上的哪些文件上传到 YouTube(那些文件存在于驱动器上,但在您已上传视频的数据库中不存在)。
    猜你喜欢
    • 2017-04-20
    • 2020-11-21
    • 2019-08-08
    • 2020-08-27
    • 2019-09-24
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多