以下文件的图像部分
https://developers.google.com/apps-script/html_service
表示只能显示托管在公共网址上的图片(由于使用了图片代理)。
这是否适用于存储在用户的Google云端硬盘中的图片? 有没有办法将这些图像用作HtmlService元素?
答案 0 :(得分:4)
还没有办法做你要问的事。
答案 1 :(得分:1)
听起来您正试图通过Google云端硬盘提供可公开访问的某种永久链接。
打开文件。
在“文件”菜单下,单击“共享”。
在“谁有权限”下,单击“更改”。
选择“在网络上公开”。
点击完成,然后复制列出的链接。这是您可以使用的公开链接。
答案 2 :(得分:0)
当您使用高级驱动器服务访问文件时,元数据有一个名为“thumbnailLink”的属性,它非常适合在 Html 服务中显示图像,尤其是当您不想公开共享的文件时。它也比 base64 方法快得多。该链接将在数小时内过期,因此您每次都需要重新请求。
对于单个图像,以下内容可以解决问题:
Drive.Files.get(id).thumbnailLink
对于多个图像,您可以使用高级驱动服务中的列表方法。例如,以下将访问给定 id 的文件夹中的所有图像。
var query = "'"+id+"' in parents and mimeType contains 'image/'"
var files;
var pageToken;
do {
files = Drive.Files.list({
q: query,
maxResults: 300,
pageToken: pageToken
});
if (files.items && files.items.length > 0) {
for (var i = 0; i < files.items.length; i++) {
var file = files.items[i];
var title = file.title
var src = file.thumbnailLink
}
}
pageToken = files.nextPageToken;
} while (pageToken);
您还可以通过将“s220”字符串替换为更大的数字来调整图像的大小,例如,src = src.replace("s220","s1000")。