如何将来自Google Drive的Materialize.min.js链接到Google Apps脚本
我得到了一些Google Apps脚本Web应用程序。它们都使用位于其他服务器上的图像文件Materialize.min.css和Materialize.min.js。我想把我控制下的所有这些文件都移到我的谷歌硬盘上。我已经成功地处理了图像文件和Materialize.min.css,但由于某些原因,maerialize.min.js
引发了问题。
用于我过去使用的css文件
link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" /
我现在使用
link rel="stylesheet"
href="https://drive.google.com/uc?export=view&id=1UQ_tm8_bUOXWj1GdzS8JmkehwVf5sW3A" />
并且一切运行正常。
对于JS文件:我以前使用
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script> <?!= include("page-js");?>"
我已尝试
<script src="https://drive.google.com/uc?export=download&id=1SkfRcC1jQwNLRVEUPgjQHSUkEFdg1BND"></script> <?!= include("page-js");?>"
也尝试了export=view
我收到运行时错误
UserCodeAppPanel:47未捕获引用错误:M未在HTMLDocument中定义。
所以它似乎读取了文件,但似乎没有加载js?
我不确定如何修复它。 如有任何建议,我们将不胜感激。
解决方案
更新:
如chris在此comment中指出的,您可能只需将文件扩展名更改为txt
或css
文件即可绕过所有安全限制。
URL的格式应为:
https://drive.google.com/uc?export=download&id=###fileId###
这是因为Google Drive识别出这是一个js
文件,不允许直接链接,但会重定向到一个警告页面,该页面需要最终用户的确认(使用查询字符串confirm=****
,如here所述)。遗憾的是,由于CORB,我认为无法检索此确认令牌客户端。
解决方法:
创建简单的Web应用程序函数
doGet()
使用ContentService返回数据
使用
script src
中发布的Web应用URL
相关文章