google-sheets - 获取图像的完整 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
从第一个公式中得到这个?
解决方案
您收到([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
推荐阅读
- amazon-web-services - 因错误而终止 - 服务角色 My-EMR-Role 的 EC2 权限不足
- javascript - 如何为选择器提供多个值?像一个数组
- mysql - MySQL Access 日志查询执行
- react-native - IOS端未在推送通知react-native中显示图像
- flutter - 如何在flutter中创建一个需要初始化的重用变量?
- facebook-graph-api - 由页面信使 api 的人的 id 发送
- elasticsearch - elastalert 在条件未满足/满足时发送通知
- c# - 将 .net core 2.2 迁移到 3.1:运行 Program.cs Host.Run 时出错
- xpath - XPATH 用于“具有 X 类的 div 下的所有 html 文本,不包括具有(D 类或 E 类)的 div 下的文本)
- javascript - 如何在循环中动态创建对象但使用“if else”语句