将Google云端硬盘视频添加到Google表格或文档中的侧边栏

时间:2018-06-06 14:33:15

标签: google-apps-script google-drive-api html5-video

^^没有回答这个问题。其他stackoverflow搜索似乎也有过时的信息。也许它在某一点上起作用,我不知道,但现在还没有。

我想在Google工作表或文档中包含教学视频(不是网站,因为我无法直接编辑视频旁边的文档或工作表),但我希望它来自谷歌驱动器而不是youtube。

我也知道谷歌表格,幻灯片和网站允许视频嵌入,所以只希望有一个工作表(最好)或文档的解决方法。

我添加了一个侧边栏:

function showSidebar(){
  var html = HtmlService.createHtmlOutputFromFile("sidebar")
  .setSandboxMode(HtmlService.SandboxMode.IFRAME)
  .setWidth(300)
  SpreadsheetApp.getUi().showSidebar(html);
}

但我没有想到包含视频工作的驱动文件。以下适用于youtube:

 <iframe width="420" height="315" src="https://www.youtube.com/embed/tgbNymZ7vqY">
</iframe>

以下是我认为应该能够使用的内容:

 <video width="400" autoplay controls>
    <source src="https://drive.google.com/file/d/fileID/preview" type="video/mp4">

    Your browser does not support HTML5 video.
    </video>

虽然我看到@ruben正在说什么 - 我可以将视频嵌入网站 - 如果我尝试将链接嵌入到网站中作为iframe的网站,它似乎真的不起作用谷歌表。

我也尝试过google adds和aps但是还没有找到一个按照我需要的方式工作。用户不想打开新屏幕。

2 个答案:

答案 0 :(得分:0)

您想要使用多少视频文件?如果尺寸很小,这个修改怎么样?在我的环境中,当我使用视频标记将视频标记添加到侧边栏时,我使用不带export=download的webContentLink。 (您也可以将webContentLink与export=download一起使用。)那么您可以尝试进行此修改吗?

来自:

<video width="400" autoplay controls>
<source src="https://drive.google.com/file/d/fileID/preview" type="video/mp4">
Your browser does not support HTML5 video.
</video>

致:

<video width="400" autoplay controls>
<source src="https://drive.google.com/uc?id=fileID" type="video/mp4">
Your browser does not support HTML5 video.
</video>

注意:

  • 在这种情况下,当视频文件的大小很大时,加载时间变长。请小心这一点。

如果这不是你想要的,我很抱歉。

答案 1 :(得分:0)

@Tanaike让我使用链接朝着正确的方向前进:

https://drive.google.com/uc?id=fileID

但是我收到403错误。如果您在组织中,则可能必须在浏览器中使用类似以下链接的链接:

https://drive.google.com/a/yourcompany.com/uc?id=fileid

此链接实际上会将您转到新链接。然后,您可以使用此新链接来托管和播放驱动器文件。

谢谢大家!

更新:您必须处理文件本身的共享/权限问题,以便其他人可能无法看到视频。还在调查

更新#2-你只需要动态创建链接,因为每个用户都会有自己的链接来查看它。

你必须把它放在你的code.gs文件中

function createLink(){
   var fileId = 'fileID';
   var getFile = DriveApp.getFileById(fileId);
    Logger.log(getFile);
   var url = getFile.getDownloadUrl();
    Logger.log(url);


    url = url.replace("&e=download&gd=true","");

    var output = '<video width="400" autoplay controls><source src="'+url+'" type="video/mp4">Your browser does not support HTML5 video.</video>';
    Logger.log(output);

    var html = HtmlService.createHtmlOutput(output)
  .setSandboxMode(HtmlService.SandboxMode.IFRAME)
  .setWidth(600)
  .setTitle("Embedded video");
  SpreadsheetApp.getUi().showSidebar(html);
  }