【问题标题】:Google Sites HTML Iframe (not gadget)Google 协作平台 HTML Iframe(非小工具)
【发布时间】:2014-12-07 22:49:18
【问题描述】:

我正在尝试在我的 google 站点中嵌入一个 google drive 文件夹,但该文件夹只会显示给某些用户。这就是为什么我不能使用插入 --> 驱动器 --> 文件夹。

我在这篇帖子 stackoverflow 中发现,您可以使用 HTML Iframe 显示特定文件夹,并且效果很好。

现在我尝试将该 iframe 嵌入到我的 Google 网站上,但没有成功。我尝试了 3 种不同的方法:

1) 使用 HTML 框(插入 --> HTML 框)

这将返回以下内容:删除标签 iframe 上不允许的属性 src

我使用了完全相同的 html 代码,效果很好

<iframe src="https://drive.google.com/embeddedfolderview?id=0B9xgK9AXrIuiMS0xNTQ5MzZjNy0xYTAxLTQzMjQtYWVkOS03M2Q3YWQxMzVhN2I#list" width="800" height="600" frameborder="0"></iframe>

2) 使用 HTML 服务(Google Apps 脚本)

我创建了一个如下所示的 Google 脚本:

代码.gs

function doGet() {
  return HtmlService.createHtmlOutputFromFile('index');
}

index.html

<html>
  <body>
    <p>Hello Stackoverflow</p>
    <iframe src="https://drive.google.com/embeddedfolderview?id=0B9xgK9AXrIuiMS0xNTQ5MzZjNy0xYTAxLTQzMjQtYWVkOS03M2Q3YWQxMzVhN2I#list" width="800" height="600" frameborder="0"></iframe>
  </body>
</html>

这仅显示“Hello stackoverflow”和 iframe 应位于的空间。

3) 插入 --> 更多小工具 --> 包括小工具 (iframe)

这个使用与我在其他方法中使用的相同 url:https://drive.google.com/embeddedfolderview?id=0B9xgK9AXrIuiMS0xNTQ5MzZjNy0xYTAxLTQzMjQtYWVkOS03M2Q3YWQxMzVhN2I#list

但是这种方式对我来说毫无用处,因为我需要控制哪些用户可以看到 Google 站点内的 Google Drive 文件夹,哪些不能看到。

请注意,它与 http 或 https 或 Google Chrome 上的盾牌按钮无关,因为我使用的是 https 网址。

【问题讨论】:

    标签: javascript html iframe google-apps-script google-sites


    【解决方案1】:

    试试下面的 Apps 脚本代码

    代码.gs

        function doGet(e) {
        var template = HtmlService.createTemplateFromFile('Index');
        return template.evaluate()
        .setTitle('Web App Search Page')
        .setSandboxMode(HtmlService.SandboxMode.IFRAME)
        .addMetaTag('viewport', 'width=device-width, initial-scale=1')
        .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
    }
    

    索引.html

    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
      </head>
      <body>
        <iframe src="https://drive.google.com/embeddedfolderview?id=XXXXXXXXXX_FOLDERID_XXXXXX#list" width="800" height="600" frameborder="0"></iframe>
      </body>
    </html>
    

    部署为网络应用并使用“exec”链接

    【讨论】:

      【解决方案2】:

      您是否尝试过沙盒以及我们提供的 HTML 服务的不同模式?

         function doGet() {
        return HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.IFRAME);
      }
      

      https://developers.google.com/apps-script/guides/html/restrictions#sandbox_mode

      【讨论】:

        【解决方案3】:

        不确定这是否可行,但首先访问文件夹的共享设置并确保“知道链接的每个人都可以访问”。

        然后重试插入 > Google 云端硬盘

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多