我想知道是否可以在公共网站上访问/显示存储在谷歌驱动器中的图像等文件。
当前回答
2022年11月面向工作空间(G套件)用户的工作解决方案
一些嵌入代码不显示img,除非查看者登录到gmail,下面的工作就像你的网络主机上的常规图像:
公开分享项目(确保它说“互联网上任何有此链接的人都可以查看):要么图片本身(或图片所在的文件夹),然后按以下方式复制链接
获取文件的ID并在这里插入:
<img src="https://lh3.googleusercontent.com/d/[ID_OF_THE_FILE]">
结果(如果你看到下面的狗,这意味着解决方案仍然有效):
Localmachine
不会显示在MAMP/WAMP类型的本地主机环境,但显示在网页上。
其他回答
我认为这是可能的,但只是在短时间内
你要做的就是将文件的访问控制列表设置为公共只读(或公共读/写)。您可以通过编程方式使用谷歌文档列表API,或手动通过驱动器图像查看器上的“共享”按钮来实现这一点。
然后,您可以通过使用谷歌文档列表API或使用谷歌驱动器API(即Java中的file.getDownloadUrl())以编程方式获取图像的URL。您还可以通过在谷歌驱动器默认图像查看器中右键单击图像,轻松地手动获取到图像的链接。
问题是,这个链接存在的时间是有限的,所以它会工作一段时间,然后就停止工作了。
基本上,存储在驱动器中的图像文件的URL应该是可以访问的,而不需要任何身份验证,一旦它被设置为公开共享,但URL将在某个时候改变。我们可能会在未来找到一个解决方案,比如提供一个永久的URL,将重定向到这些不断变化的URL,但没有承诺…
Con可以禁用javascript在您的浏览器中打开图像文件并在查看页面源或右键单击图像,就会看到图像链接。(事先查看股权偏好)
特别针对G-Suite用户 . 如第3点所述,您可以使用此URL托管映像
https://drive.google.com/a/domain.com/thumbnail?id=imageID
有以下替换
域名:替换为贵公司的GSuite域名,如皮卡丘 imageID:替换为镜像id /文件id
这里的先决条件是,图像应该通过驱动器共享给目标受众(无论是单独的每个人还是整个组织)
如果你遇到渲染图像大小的问题,请使用下面提到的选项
https://drive.google.com/a/domain.com/thumbnail?id=imageID&sz=w{width}-h{height}
使用以下替换(除了domain和imageID替换)
{width}:以像素为单位写宽度(不带大括号),如300 {height}:以像素为单位(不带大括号)写高度,例如200
1.将您的图片设置更改为公共。
2.获取其可共享链接。
3.去这个网站并生成一个直接下载链接。
为我工作!
然而,这个答案很简单,事实上非常简单,是的,许多人都提到了它,简单地把图像的id放在下面的链接https://drive.google.com/uc?export=view&id={fileId}
但不管这有多简单,我还是编写了一个脚本在控制台中运行。 从谷歌驱动器中输入一个完整的可共享链接数组,并将它们转换为上述链接。然后它们可以简单地用作静态地址。
array = ['https://drive.google.com/open?id=0B8kNn6zsgGEtUE5FaGNtcEthNWc','https://drive.google.com/open?id=0B8kNn6zsgGEtM2traVppYkhsV2s','https://drive.google.com/open?id=0B8kNn6zsgGEtNHgzT2x0MThJUlE'] function separateDriveImageId(arr) { for (n=0;n<arr.length;n++){ str = arr[n] for(i=0;i<str.length;i++){ if( str.charAt(i)== '=' ){ var num = i+1; var extrctdStrng = str.substr(num) } } console.log('https://drive.google.com/uc?export=view&id='+extrctdStrng) window.open('https://drive.google.com/uc?export=view&id='+extrctdStrng,'_blank') } } separateDriveImageId(array)