【问题标题】:How to get an "Image in cell" URL from the Google Sheets API如何从 Google Sheets API 获取“单元格中的图像”URL
【发布时间】:2019-05-14 20:24:48
【问题描述】:

我使用sheets.spreadsheets.values.get 获取电子表格中的信息,但包含图像的单元格显示一个空字符串值。

我尝试使用values:userEnteredValue 作为请求的参数(如本问题Retrieve images in cells using Google Sheets API 所示),但没有奏效。

sheets.spreadsheets.values.get({
      spreadsheetId: 'XXX',
      range: 'firstSheet!A1:E10',
      key: "XXXX"
      //values: 'userEnteredValue'
}

这是我目前得到和拥有的


编辑: 我意识到我的一个问题是我在应该使用spreadsheets.get 时使用了spreadsheets.values.get。我已经改变了这个,但我仍然无法获得网址

包含文本的单元格具有userEnteredValue 属性,但包含图像的单元格没有。

【问题讨论】:

  • imgur.com/a/aQBcxjn 使用 fields 参数返回图像的空对象
  • 根据您的问题,我无法理解您的电子表格。为了正确了解您的情况,您能否提供一个示例电子表格和脚本?当然,请删除您的个人信息。
  • [@Tanaike],您可以将图像放在电子表格单元格中,例如 =image("https://www.google.com/images/srpr/logo3w.png"),但 sheets.spreadsheets.values.get() 为该单元格返回空字符串。
  • @Alex Baban 感谢您的评论。我提出了一个修改后的脚本作为答案。你能确认一下吗?
  • @Tanaike,你的回答有效,我投了赞成票

标签: node.js google-sheets google-sheets-api


【解决方案1】:
  • 您想从单元格中的=image("https://www.google.com/images/srpr/logo3w.png") 检索 URL。
  • 你想使用sheets.spreadsheets.values.get()的方法。
  • 您希望使用 Node.js 的 googleapis 来实现此目的。
    • 您已经能够使用 Sheets API。

如果我的理解是正确的,那么这个修改呢?

修改点:

  • =image("https://www.google.com/images/srpr/logo3w.png") 作为公式放入单元格中。所以要检索公式,请使用valueRenderOption: "FORMULA"

修改脚本:

这个修改后的脚本假设=image("https://www.google.com/images/srpr/logo3w.png") 被放在工作表名称“Sheet1”的单元格“A1”中。

sheets.spreadsheets.values.get(
  {
    spreadsheetId: "###",
    range: "Sheet1!A1",
    valueRenderOption: "FORMULA"
  },
  function(err, res) {
    if (err) {
      console.log(err);
      return;
    }
    const url = res.data.values[0][0].match(/https?:\/\/[\w\S][^"]+/)[0];
    console.log(url);
  }
);

结果:

https://www.google.com/images/srpr/logo3w.png

参考:

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

编辑:

  • 您想通过“电子表格中的插入选项”检索插入到单元格和工作表中的图像的 URL。

如果我的理解是正确的,不幸的是,在当前阶段,当通过“电子表格中的插入选项”将图像从 URL 插入到单元格中时,Sheets API 和电子表格服务无法检索图像的 URL。此外,当通过“电子表格中的插入选项”从 URL 将图像插入工作表时,Sheets API 和电子表格服务无法检索图像的 URL。对于这种情况,我深表歉意。

参考:

【讨论】:

  • 这使用 =image() 公式效果很好,但是是否可以使用电子表格中的 INSERT 选项获取上传的图像的 url?当我这样做时,图像显示在单元格上,但公式为空
  • @Bruno Puccio 感谢您的回复。我更新了我的答案。你能确认一下吗?如果我误解了你的问题,请告诉我。
  • 有没有人想出如何使用插入而不是使用 =image() 公式添加的图像来解决这个问题?使用插入时它仍然保持空白。
  • @Mr. BigglesWorth 关于Has anyone figured out how to get this to with with images that are inserted and not added with the =image() formula? It still remains blank when using Insert. 的问题,我想支持你。但我无法正确想象你的问题。那么你能把它作为一个带有详细信息的新问题发布吗?这样,它将帮助包括我在内的用户思考解决方案。如果您能合作解决您的问题,我很高兴。可以配合吗?
猜你喜欢
  • 2017-09-25
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
相关资源
最近更新 更多