如何从Google Sheets API中获取“单元格中的图像”URL

13

我使用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'
}

这是我目前得到的内容:

enter image description here

编辑: 我发现我的问题之一是我使用了spreadsheets.values.get,而应该使用spreadsheets.get。我已经更改了这个问题,但我仍然无法获取URL。

enter image description here

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


使用fields参数返回图像的空对象。 - Bruno Puccio
1
[@Tanaike],您可以使用类似=image("https://www.google.com/images/srpr/logo3w.png")的方式将图像放置在电子表格单元格中,但是sheets.spreadsheets.values.get()返回该单元格的空字符串。 - Alex Baban
1
@Tanaike,您的回答有效,我投了赞成票。 - Alex Baban
@Alex Baban,谢谢您的回复。通过您的评论,我能够理解这个问题了。也谢谢您。 - Tanaike
有人解决了如何让它与插入而非使用=image()公式添加的图像一起运行吗?当使用插入时,它仍然保持空白。 - Mr. BigglesWorth
显示剩余2条评论
1个回答

13
  • 您想从单元格中的=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。对于这种情况,我感到抱歉。

参考资料:


2
使用=image()公式非常好,但是在电子表格中使用“插入”选项上传图像,是否可能获取其URL?当我这样做时,图像显示在单元格中,但公式为空。 - Bruno Puccio
@Bruno Puccio 谢谢您的回复。我已经更新了我的答案。您能否确认一下?如果我误解了您的问题,请告诉我。 - Tanaike
有人弄清楚怎么让它使用插入的图片,而不是使用=image()公式添加的图片吗?使用插入时仍然为空白。 - Mr. BigglesWorth
@Mr. BigglesWorth 关于你的问题“有人想过如何让它与插入而不是使用=image()公式添加的图像一起使用吗?在使用插入时仍然为空”,我很愿意帮你。但我无法正确地理解你的问题。所以你可以发一个新的问题并附上详细信息吗?这样,它将有助于包括我在内的用户考虑解决方案。如果你能合作解决你的问题,我非常高兴。你可以合作来做吗? - Tanaike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接