^^没有回答这个问题。其他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但是还没有找到一个按照我需要的方式工作。用户不想打开新屏幕。
答案 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);
}