Google云端硬盘是否不再允许从其他网站引用JavaScript文件?

时间:2015-02-07 21:37:02

标签: javascript google-drive-api

我刚刚注意到我在Google云端硬盘上托管的所有javascript文件都不再有效,之前是officially allowed by Google。所有变量和函数调用都是未定义的(如Chrome控制台中所示),但一直以来,它们都运行良好。以下是我的链接参考:

<script charset='utf-8' src='https://googledrive.com/host/0B_kAR1YCVojTQnlmMXA0cWhfNGM' type='text/javascript'/>

访问权限一直设置为公开,并且仍然保持公开状态。在我的HTML文件中,我调用了如下所示的函数:

<script type="text/javascript">setDefaultShow(13, 13);</script>
直到最近,这一直很好。我可以知道还有什么不对吗?可能是因为,Google云端硬盘不再允许从其他网站引用javascript文件吗?如果答案是'是',还有其他任何替代方法来托管我的javascript文件吗?

提前致谢!

4 个答案:

答案 0 :(得分:4)

尝试在https://sites.google.com/site/gdocs2direct/

使用直接链接生成器

第1步:转到Google云端硬盘,然后右键单击要共享的文件。 现在点击“分享...”。

步骤2:在出现的窗口中,单击“获取可共享链接”。

步骤3:确保下拉菜单设置为“有链接的任何人...”之一 或“互联网上的任何人...”选项,然后单击“复制链接”。

第4步:现在只需将该链接粘贴到上面的文本框中即可创建直接链接。享受!

答案 1 :(得分:2)

我刚刚与谷歌通电话,他们已经意识到了这个问题。他们仍然允许在GoogleDrive上托管javascript文件,它只是不适合某些人,并且还没有在最后一天半。与此同时(或者可能从现在开始)我使用亚马逊的简单存储服务:http://aws.amazon.com/s3/

答案 2 :(得分:1)

我们设法解决了这个问题 它似乎与MIME类型有关,使用application / x-javascript作为mime类型的JS文件的加载失败(之前它们很好) 带有mime type text / plain的JS文件加载正常。

您可以尝试使用此代码来识别具有特定文件夹的mime问题的文件

var fid = "your-folder-id-here";
function myFunction() {
  var folder = DriveApp.getFolderById(fid);
  var files = folder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    Logger.log(file.getName() + " - " + file.getMimeType());
  }
}

答案 3 :(得分:0)

修改

Google已于2015年2月9日修复此问题。不再需要以下步骤,如果使用将导致意外的MIME类型控制台警告。但是,如果问题重新出现,我将离开原来的回复。

原始答案:

我能够用这种方法解决问题:

  1. gDrive:将所有* .js文件下载到本地驱动器
  2. gDrive:删除所有* .js文件
  3. 本地驱动器:批量将所有* .js文件重命名为* .txt
  4. 本地驱动器:将所有* .txt文件上传到gDrive
  5. 本地驱动器批量将所有* .txt文件重命名为* .js(即还原第3步)
  6. gDrive:将所有* .txt文件单独重命名为* .js(主要痛苦)
  7. 此方法可确保gDrive上文件的MIME类型为text / plain,因为您上传的文件扩展名为.txt。在gDrive上将文件重命名为.js时,将保留MIME类型。