首页 > 解决方案 > 获取图像的完整 URL 的 GCS API 函数?

问题描述

我有一些图像存储在Google Cloud Storage中,我想在 Google Sheets 电子表格中显示它们。我拥有的图片网址格式如下:

https://storage.cloud.google.com/bucket-name/image-name

如果我尝试将其放入image()表格中的公式中,则无法正确显示图像。当点击这些链接之一时,它会重定向到具有以下形式 URL 的图像:

([A-Za-z]\d)*-apidata.googleusercontent.com/download/storage/v1/b/bucket-name/o/object-name?qk=([A-Za-z]\d)*

是否有一个GCS API函数或表格公式可以让我URL从第一个公式中得到这个?

标签: google-sheetsgoogle-cloud-storagegoogle-sheets-apigoogle-sheets-formula

解决方案


您收到([A-Za-z]\d)*-apidata.googleusercontent.com/download/storage/v1/b/bucket-name/o/object-name?qk=([A-Za-z]\d)*链接是因为您尝试访问私有图像。

当您复制私有对象的链接并将其粘贴到浏览器时,Google 会检查您的凭据。如果您使用的帐户有足够的权限来查看该对象,那么它会将您重定向到该api.data链接。

您可以通过在 Cloud Console 上复制对象的链接然后将其粘贴到隐身模式来测试这一点。您会看到它会提示您输入一个帐户。但是,如果您将api.data链接粘贴到隐身模式,它仍然会为您提供对象。

最简单的解决方案是将图像定义为公共,然后复制工作表页面上的公共 URL 。它会是这样的:

storage.googleapis.com/bucket/image.jpeg

推荐阅读