无法使用Google Apps脚本

时间:2017-07-04 17:24:38

标签: google-apps-script

我正在编写一个脚本,以了解有关Google文档结构的更多信息。它在侧边栏中显示了我正在尝试学习的很多结构。但我一直在尝试显示我的脚本所包含的Google Doc中的图像,但似乎无论我尝试什么,我都无法显示Google Docs中已有的图像。所以我将其另一个版本上传到Google云端硬盘并尝试使用Google链接,如多个StackOverFlow引用中所述,但它们似乎无法正常工作。唯一似乎可靠的工作是将其上传到我的网站并使用其中的网址。这是给我问题的片段。

var br = '<br />';
var images=DocumentApp.getActiveDocument().getBody().getImages();
  if(images)
  {
    s+=br + '<strong>Body Images</strong>' + br + '<strong>Number of Images: </strong> ' + images.length;
    for(var i=0;i<images.length;i++)
    {
      s+=br + '<img src="http://myWebsite.com/GmailSignature.png" width="100"/>'; //This is the only thing I can get to work
      s+=br + '<img src="https://drive.google.com/open?id=0Bx2ds1-xxxxxxxxxxxxxxxxxxxx" width="100"/>';//There's several references on StackOverFlow.com that say this should work
      s+=br + '<img src="https://drive.google.com/uc?id=0Bx2ds1-xxxxxxxxxxxxxxxxxxxx&export=download" width="100" />';
    }
  }else{s+=br + '<strong>No Images in this Body element.</strong>';}

他是我的侧边栏看起来像这个代码:

enter image description here

我网站的链接有效。来自Google云端硬盘的链接没有。我刚刚将该图片添加到我的某个Google网站并获取该网址,这也是有效的。其中一个stackoverflow引用建议使用此<img src='https://drive.google.com/uc?id=" + imageId +'"',但似乎对我有用的是将其转换为:<img src='https://drive.google.com/uc?id="' + imageId + '&export=download" />'

目前我唯一的解决方案是将图片插入我的某个Google网站(旧版)。保存页面并获取开发人员的URL,并且每次都有效。我希望将来或者至少是一种更简单的方法。在这种情况下,最好能够直接使用Google文档文档中的图像。

1 个答案:

答案 0 :(得分:0)

在Dialog和Sidebars中使用Google云端硬盘中的图像

我认为我的问题是我并不总是使用可共享链接中的id,并且我可能并不总是将其设置为可公开访问。我只是做了这个小例子,他们都工作得很好,他们包含了一些我过去上班时遇到的问题。

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <img src="https://drive.google.com/uc?id=ShareableLinkID&export=download" width="200" />
    <img src="http://drive.google.com/uc?export=view&id=ShareableLinkID" width="200" />
    <img src="https://drive.google.com/uc?id=ShareableLinkID" width="200" />

  </body>
</html>