使用 Google 脚本从 Google 照片中导入 Google Sheet 一张 google 图片

Import in my Google Sheet a google picture from Google Photos with Google Script

我目前正在从事一个具有多项功能的项目。主要目标是能够通过表格提出工作干预请求。在这一个中,不同的下拉菜单允许 select 一个站点,然后是一个扇区,然后是一个区域,最后是一个房间(它们都相互关联,每次更改时,计划都会更新)。然后他填写各种信息并验证他的请求。它运行完美,请求保存在 Google Sheet.

我还开发了其他功能,例如归档已完成的请求。所有数据都存储在同一个 sheet 文件中,在不同的选项卡(请求、计划、归档等)中。

我想创建一个允许我打印正在进行的请求的功能。正是在这一点上,我遇到了困难。事实上,我想创建一个 pdf 允许可视化在输入框中捕获的请求的所有信息(用户请求的 id 的捕获)。我创建了一个临时的 shhet 以创建我的 pdf(之后被删除)。我设法创建了临时 sheet,将其删除并恢复了除相关计划之外的所有信息。 我认为问题出在我使用 Google 照片中的 link,因为我使用 lambda 图像 url 进行了测试并且它有效。有谁知道如何显示我的 Google 照片中的 pdf 地图? (url 以“https://lh3.googleusercontent.com/”开头)

这是我用于地图显示部分的代码:

  // Récupération de l'ensemble des plans dans tPlansZones
  var feuillePlans = classeur.getSheetByName("Plans");
  var tPlansZones = feuillePlans.getRange("E2:F").getValues();
  for (let i = 0; i <tPlansZones.length; i ++){
 // Si le plan correspond, enregistrement de l'url de celui-ci
    if (tPlansZones[i][0]==zoneAdd){
      urlPlan = tPlansZones[i][1];
      break;
    } else {
      continue;
    }
  }
  // Affichage du plan
  var donneePlan = nouveauSheet.getRange('B21');
  donneePlan.setFormula(`=image("${urlPlan}")`);
  SpreadsheetApp.flush();
  donneePlan.copyTo(donneePlan,{contentsOnly: true});
  SpreadsheetApp.flush();
  var fusionPlan = nouveauSheet.getRange("B21:H45").setHorizontalAlignment("center");
  fusionPlan.merge();

代码解释:

1 - 我在 tPlansZones 中获取了所有区域名称 (tPlansZones[0]) 和相关计划的 url (tPlansZones[1])

2 - 如果请求中输入的区域名称对应于for循环的计划之一,我记录在url计划中这个url,否则我继续

3 - 我显示计划(我想提醒您,我测试了来自 google 搜索的随机图像的 url,我将它分配给了 tPlansZones[1]请求分配到的区域并且有效)

我不分享屏幕截图或我的 sheet 文件,因为这是一家相当大的公司,我不想在网络上传播其内容。但如果您愿意,我总是可以创建“示例”sheets 来进一步说明我在说什么。

在此先感谢您的帮助。

感谢 Tanaike 的回答,但经过 Google 夜间的多次搜索后,我意识到我的问题出在照片的 url 上。

的确,link 的 Google 照片是临时的,显然每 2 或 3 天重新生成一次。这就是为什么我的照片没有正确显示的原因。我将关闭该主题,并向您推荐这篇涉及该主题的文章

link