以编程方式将Drive映像放入Sheets单元的正确方法是什么?

Mar*_*ell 7 google-sheets google-apps-script google-drive-api google-picker

我有一个WebApp,它将工作网站数据收集到Google表格电子表格中,并将工作网站照片收集到我为每个作业创建的Google云端硬盘文件夹中.必须在Google表格的单元格中查看部分(但不是全部)照片,以便可以将作业单打印为作业完成报告的一部分.

我使用Google Picker将文件上传到特定于工作站点作业的文件夹.我不确定从那里使用它们的最佳方法.

我已经成功设置了一个单元格公式,例如 =IMAGE("hllp://i.imgur.com/yuRheros.png", 4, 387, 422),但只能从网络上的其他地方提取图像.

使用像这样的永久链接技巧=IMAGE("hllp://drive.google.com/uc?export=view&id=0B8xy-TdDgbjiFoOldUlLT091NXM", 4, 387, 422)不起作用; 我认为它不会容忍Google在这些链接上执行的网址重定向.

我读过的另一种方法是将实际的blob写入单元格,但尚未尝试过.但是,我怀疑我将失去对后续报告格式的控制权.

也许我需要在几个单元格中以多种方式记录图像规范:

  1. 其Google云端硬盘哈希密钥
  2. 它的尺寸
  3. 它在imgur.com(或类似)的备用位置
  4. 它的blob

是否有一种编程方式来获取Google重定向的图像最终URL,相当于打开图像并手动复制URL?一个人可以永远相信它,还是会随着时间而改变?

更新:我错了= IMAGE("hllp://drive.google.com/uc?export = view&id = 0B8xy-TdDgbjiFoOldUlLT091NXM",4,387,422)无效.即使电子表格的所有者也是图像的所有者,也必须将图像共享给"具有链接的任何人".

我将继续录制1.hash key和2.dimensions作为我的解决方案,但我很高兴知道是否有其他人有更好的主意.

Bha*_*caz 3

我制作了一个两行脚本来使用 Google Drive 中图像的共享链接。

  1. 转到工具 > 脚本编辑器。
  2. 复制、粘贴以下代码
  3. 节省
function DRIVE_IMAGE(link){
  return link.replace("open?", "uc?export=download&");
}
Run Code Online (Sandbox Code Playgroud)

使用脚本:

  1. 复制Google 云端硬盘中图像的获取可共享链接(也许您需要将共享首选项设置为在网络上公开)。
  2. 转到 Google 表格单元格。
  3. 输入公式

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    
    Run Code Online (Sandbox Code Playgroud)