我正在尝试根据电子表格中生成的随机数播放视频。由于Google表格不允许您直接嵌入youtube视频,因此我尝试通过自定义对话框来实现。
这是我到目前为止所拥有的:
Google脚本代码
var PlayDes = sheet.getRange('g2').getValue();
GameSheet.getRange('D4').setValue(TotYds1)
var html = HtmlService.createHtmlOutputFromFile('Youtube')
.setWidth(560)
.setHeight(315);
SpreadsheetApp.getUi()
.showModalDialog(html, PlayDes);
然后,HTML代码为:
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/7WSQGD874Yc?start=8&end=18" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<input type="button" value="Close" onclick="google.script.host.close()" />
我希望基于从电子表格中单元格G2提取的值来更改html代码中的视频URL。
答案 0 :(得分:1)
感谢@JSmith的帮助,这是我找到的解决方案... Google脚本端
function retrieveValue(){
spreadsheet = SpreadsheetApp.openById('sheet ID')
sheet = spreadsheet.getSheetByName('Data')
var PlayDes = sheet.getRange('g2').getValue();
return (sheet.getRange('g2').getValue());
然后在html端
<script>
//*********************************** retrieve the URL from spreadsheet**********************************
var myValue
function Vidurl(value)
{
myValue=value
document.write('<iframe width="560" height="315" src= '+myValue+' frameborder="0" allow="autoplay; encrypted-media" allowfullscreen><\/iframe>');
}
google.script.run.withSuccessHandler(Vidurl).retrieveValue();
</script>
我遇到的一个问题是浏览器不喜欢我的脚本,并将其标记为危险脚本,然后我不得不越过它。
答案 1 :(得分:0)
假设您的手机是g2
在您的IDE中创建脚本,如下所示:
function retrieveValue()
{
...//grab spreadsheet and sheet
return (sheet.getRange('g2').getValue());
}
然后在您的HTML客户端上这样调用它:
<iframe id="myVideo" width="560" height="315" src="NEED VARIABLE HERE" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<script>
var myValue = null;
function onSuccess(value)
{
$("#myVideo").attr('src', value);
}
google.script.run.withSuccessHandler(onSuccess).retrieveValue();
</script>
注意
google.script.run
是一个异步调用,因此您必须等待该调用完成才能在客户端获得所需的值。