我想知道是否可以在公共网站上访问/显示存储在谷歌驱动器中的图像等文件。
当前回答
牛科技提供的解决方案对我很有效。
http://googledrive.com/host/<folderID>/<filename>
但有两个突出的问题
您不能在驱动器中的同一文件夹中有两个具有相同名称的文件,否则此链接将不起作用。 目前还不清楚,但谷歌似乎计划通过驱动器弃用图像托管。请看下面的链接。 https://support.google.com/richmedia/answer/6098968?hl=en
其他回答
我认为这是可能的,但只是在短时间内
你要做的就是将文件的访问控制列表设置为公共只读(或公共读/写)。您可以通过编程方式使用谷歌文档列表API,或手动通过驱动器图像查看器上的“共享”按钮来实现这一点。
然后,您可以通过使用谷歌文档列表API或使用谷歌驱动器API(即Java中的file.getDownloadUrl())以编程方式获取图像的URL。您还可以通过在谷歌驱动器默认图像查看器中右键单击图像,轻松地手动获取到图像的链接。
问题是,这个链接存在的时间是有限的,所以它会工作一段时间,然后就停止工作了。
基本上,存储在驱动器中的图像文件的URL应该是可以访问的,而不需要任何身份验证,一旦它被设置为公开共享,但URL将在某个时候改变。我们可能会在未来找到一个解决方案,比如提供一个永久的URL,将重定向到这些不断变化的URL,但没有承诺…
如果你想在浏览器中查看文件,也可以使用类似于rufo和Torxed提供的方法:
https://drive.google.com/uc?export=view&id={fileId}
在谷歌驱动器API中有一个文件类型选项。你可以检查它是否被解析成一个有效的图像。我会看一个选项,如果文件类型给我一个无效的图像,然后为文件获取一个新的直接URL。我还没有弄清楚如何做到这一点,但也许这是一个尝试的途径。
2022年11月面向工作空间(G套件)用户的工作解决方案
一些嵌入代码不显示img,除非查看者登录到gmail,下面的工作就像你的网络主机上的常规图像:
公开分享项目(确保它说“互联网上任何有此链接的人都可以查看):要么图片本身(或图片所在的文件夹),然后按以下方式复制链接
获取文件的ID并在这里插入:
<img src="https://lh3.googleusercontent.com/d/[ID_OF_THE_FILE]">
结果(如果你看到下面的狗,这意味着解决方案仍然有效):
Localmachine
不会显示在MAMP/WAMP类型的本地主机环境,但显示在网页上。
一个解决方法是使用谷歌Drive SDK API获取fileId,然后使用这个Url:
https://drive.google.com/uc?export=view&id= {id}
这将是一个永久链接到您的文件在谷歌驱动器(图像或其他任何东西)。
注:此链接似乎受配额限制。所以不适合公开/大规模共享。