Функция API GCS, чтобы получить полный URL для изображения? - PullRequest
0 голосов
/ 25 марта 2019

У меня есть несколько изображений, хранящихся в Облачное хранилище Google , и я хочу отобразить их в электронной таблице Google Sheets.URL изображения, которые у меня есть, имеют вид:

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 или формула Sheets, которая позволяет мне получить этоURL с первого?

1 Ответ

0 голосов
/ 26 марта 2019

Вы получаете ссылку ([A-Za-z]\d)*-apidata.googleusercontent.com/download/storage/v1/b/bucket-name/o/object-name?qk=([A-Za-z]\d)*, потому что пытаетесь получить доступ к закрытому изображению.

Когда вы копируете ссылку на закрытый объект и вставляете ее в браузер, Google проверяет ваши учетные данные.Если используемая учетная запись имеет достаточные разрешения для просмотра объекта, она перенаправляет вас на ссылку api.data.

Это можно проверить, скопировав ссылку на объект в облачной консоли и вставив еев режиме инкогнито.Вы увидите, что вам будет предложено ввести учетную запись.Но если вы вставите ссылку api.data в режиме инкогнито, она все равно даст вам объект.

Самое простое решение - определить изображение как Public , а затем скопировать Общедоступный URL на странице листов.Это будет что-то вроде:

storage.googleapis.com/bucket/image.jpeg
...