在网站上显示存储在Google云端硬盘中的文件(例如图像)


289

我想知道是否可以访问/显示存储在公共网站上Google云端硬盘中的图像之类的文件。


4
似乎创建问题的用户再也没有使用过SO,从而使该问题没有被接受的答案(当存在至少一个有效答案时)。社区编辑者可以解决此问题吗?
rufo 2013年

6
似乎已不赞成使用此方法:Google Drive中不支持Web托管支持
dumbledad

这是Google在2016年7月发布的最终更新,其中包括以下替代内容:gsuite-developers.googleblog.com/2016/07/…–
wescpy

@wescpy,我发现解决方案适用于我的G-Suite帐户
y2k-shubham

Answers:


200

一种解决方法是获取fileIdwith Google Drive SDK API,然后使用它Url

https://drive.google.com/uc?export=view&id= {fileId}

这将是您到Google云端硬盘中文件(图像或其他任何文件)的永久链接。

注意:此链接似乎受配额限制。因此对于公共/大规模共享而言并不理想。


但是,显然,此URL(至少是“查看”一个)仅在查看该URL的用户登录到Google(云端硬盘?)时才有效。在一个匿名浏览窗口中,我收到一个登录页面,而不是我请求的(公共共享)图像。
scy

1
请参阅我在3月27日发表的评论,对于所有具有链接的人,您都不能超过配额。
rufo 2013年

1
这无需使用公用文件夹即可工作。图片本身必须共享为“公开”。共享文件时,显示文件ID-嵌入URL中。
吉姆·弗雷德

4
嗨,Rufo,能否请您分享有关配额的信息,例如有多少配额?配额是否意味着每月查看带宽?是否有没有配额的链接?我正在寻找公共/大众共享。
Noitidart '16

1
像@JimFred这样的重要说明说,该文件必须作为公共共享
daddinhquoc

163

更新:正如宣布的那样,Google在2016年8月弃用了此功能。这是Google的替代方案的最终更新

是的,有可能。如果您将文件放在公共文件夹中,则可以通过以下URL获取文件夹中的任何文件:

https://googledrive.com/host/<folderID>/<filename>

3
无效

@LeoLuanElezi在您进行良好的编辑时,更好的编辑摘要应该是“删除无效链接”。
妮莎

152

这是简单的视图链接:

https://drive.google.com/uc?id=FILE_ID

例如https://drive.google.com/uc?id=0B9o1MNFt5ld1N3k1cm9tVnZxQjg

您可以对其他文件类型执行相同的操作,例如MP3,PDF等。


13
有用!(共享链接https://drive.google.com/file/d/2B8NbrE732XHNLThjZWZzMMVCDeVFpLVVXUkFjT3h2Qloweslz/edit?usp=sharing 变为 https://drive.google.com/uc?id=2B8NbrE732XHNLThjZWZzMMVCDeVFpLVVXUkFjT3h2Qloweslz)。
cbh2000

如何在videoview中播放视频文件?
2014年

完成文件上传后,Drive的API在响应消息中具有此链接:data.response.webContentLink。这将&export=download在末尾仅需修剪。
Bill Hoag 2014年

当尝试为ESPN Fantasy-Football球队徽标托管/使用图像时,此答案对我有用。
NateJ

1
@pabloverd:“我必须一步一步地执行该操作吗?”是的。

61

这是来自@ https://productforums.google.com/forum/#!topic/drive/yU_yF9SI_z0/discussion的方法

1-上传您的图片

2-右键单击并选择“获取共享链接”

3-复制链接应该看起来像

https://drive.google.com/open?id=xxxxxxx

4-更改open?uc?并像使用它

<img src="https://drive.google.com/uc?id=xxxxx">
  • 建议您删除http:https:从网络上引用任何内容时,以避免您的服务器出现任何问题。

@ ctf0“建议从网络上引用任何内容时删除http:或https:以避免您的服务器出现任何问题”,因此建议您简单地这样做drive.google.com
HoCo_

做工精细,简单
Thara Perera

26

更新:正如宣布的那样,Google在2016年8月弃用了此功能。这是Google的替代方案的最终更新

从2013年4月开始,使用Chrome / webkit,以下对我有用:

  • 1创建一个名为“ public”的文件夹

  • 2选择该文件夹,右键单击并选择共享>共享。单击。选择“任何人都可以访问”

  • 3将文件拖放到文件夹中,然后上传。

  • 4右键单击文件,然后选择详细信息。Details-Fieldset中的一行内容为“ Hosting”。在下面是一个URL:

https://googledrive.com/...

  • 将该网址拖放到新标签页中。复制并粘贴网址,然后将其共享或嵌入到您喜欢的任何位置。

一个限制是,就HTTP而言,似乎只能进行安全的HTTP访问。

更新:
另一个限制是无法以这种方式访问Google驱动器可以打开的文件
也就是说,点击“ 详细信息 ”将不会显示Google驱动器的网址。

为了克服这个问题:

  • 右键单击相关文件,然后选择“打开方式>管理应用”:

在此处输入图片说明

  • 在此处取消选中与文件相关的应用
  • 可选:重新加载Google云端硬盘
  • 右键单击该文件,然后选择“详细信息”
  • 继续执行步骤#4

注意:上述步骤的替代方法是上传带有Google云端硬盘无法打开/未关联的扩展名的文件。


2
更新到更新-它被弃用在201 5并除去在2016年6
克里斯ħ

因此,应删除此答案
Matanster

14

如果要在浏览器中查看文件,也可以使用与rufo和Torxed提供的方法类似的方法:

https://drive.google.com/uc?export=view&id={fileId}

我不明白 如果要在浏览器中查看gdoc,只需输入其URL。
Phil Goetz 2014年

7

我认为这是有可能的,但只能持续很短的时间

您所要做的是将文件的访问控制列表设置为“公共只读”(或“公共读/写”)。您可以使用Google Document List API以编程方式进行操作操作,也可以通过云端硬盘图像查看器上的“共享”按钮手动进行操作。

然后,您可以使用Google Document List API或Google Drive API例如 Java中的file.getDownloadUrl())以编程方式获取图像的URL 。您还可以通过右键单击Google云端硬盘默认图片查看器中的图片,轻松地手动获取图片的链接。

问题在于此链接的生存时间有限,因此它将工作一会儿然后停止工作。

基本上,在公开设置共享设置后,无需进行任何身份验证即可访问存储在云端硬盘中的图片文件的网址,但该网址有时会更改。我们将来可能会找到解决方案,例如提供一个永久URL,该URL将重定向到这些不断变化的URL,但没有任何保证。


1
最好提前知道链接的寿命。是固定的还是取决于其他参数?
德雷克

2
根据经验,如果我问工程师那个值是多少,他会回答:“当前是XXX,但不要告诉他们,因为我们可能随时更改它:)”我敢肯定,您可以轻松地尝试找到该值;)
Nicolas Garnier

目前,即使已过期,也需要一个公共链接到资源,这是我们需要的资源,除了应用程序沙箱外,其数据已经属于oauth2应用程序,并且不会与ACL混淆。
卡恩(Kain)

6

Google云端硬盘帮助页面

要使用云端硬盘托管网页,请执行以下操作:

  1. 通过drive.google.com打开云端硬盘,然后选择一个文件。
  2. 点击页面顶部的共享按钮。
  3. 单击共享框右下角的高级。
  4. 单击更改...。
  5. 选择“在网络上公开”,然后单击“保存”。
  6. 关闭共享框之前,请从“链接到共享”下面的字段中的URL复制文档ID。文档ID是URL中斜杠之间的大小写字母和数字字符串。
  7. 共享如下网址:“ www.googledrive.com/host/[doc id],其中[doc id]替换为您在步骤6中复制的文档ID。

现在任何人都可以查看您的网页。


5

以前的一些用户很亲密,但是他们在这里或那里错过了一步。

这是显示所有步骤的视频。

(2014年12月2日,编辑)
关于新的Google云端硬盘,以下信息不正确。对于新的Google云端硬盘,请按照以下说明进行操作。
您可以使用两个选项,
选择1您可以单击右上角的齿轮,还原到旧版Google驱动器(如果还原),请使用“结束编辑)”之后的说明。
选项2或您可以按照我发现的方法进行操作。如果我找到比这更好的方法,我将对其进行更新,但这是我发现的有效方法。


完整链接看起来像这样“ https://googledrive.com/host/(文件夹 ID) ”
,您需要的链接的第一部分是“ https://googledrive.com/host/ ”,后半部分是您需要的导航到您要共享的文件。
一旦进入要共享 文件的文件夹,请查看上面的链接
(示例1 https://drive.google.com/drive/u/0/ #folders / 0B3UALYkiLexYSXZllcldoU2NpYXM
(示例2 https://drive.google.com/drive/u/0/#folders/0B3UALYkiLexYSXZlcldoU2NpYXM/0B3UALYkiLexYRknnOVhsUVozRU0
在这两个上面的例子中,“文件夹ID”你需要共享的字母和数字的最后一组的“/”,所以例子之一,它是“0B3UALYkiLexYSXZlcldoU2NpYXM”例如两个是“0B3UALYkiLexYRkNnOVhsUVozRU0”后,

在这些例子中我曾经使用过示例1是驱动器上的文件夹,示例2是第一个文件夹中的文件夹,这就是为什么它在第二个链接之前具有整个第一个链接的原因。
我们只需要最右边的“ /”后面的部分。


因此,现在您有了“文件夹ID”,请使用上面的公式“ https://googledrive.com/host/(文件夹ID )”
示例1 https://googledrive.com/host/0B3UALYkiLexYSXZlcldoU2NpYXM
示例2 https:// googledrive.com/host/0B3UALYkiLexYRkNnOVhsUVozRU0


太好了,既然您具有此链接,请在新页面中打开它。它将把您定向到共享文件夹。到达该位置后,您可以右键单击任何文件并选择“复制链接地址”,也可以单击该文件夹中的任何文件,它将带您到托管图像,页面顶部的URL是托管URL。


那就是你的做法。这很烦人,个人看来,恢复到旧版Google驱动器要容易得多。


我将尝试尽快制作新的教学视频


让我知道这是否对您不起作用以及您遇到了什么问题。


结束编辑)

https://www.youtube.com/watch?v=QmN22LMPdDk&feature=youtu.be

或者,您也可以按照下面的书面说明进行操作。

这些图片与步骤中列出的图片一致。

https://googledrive.com/host/0B3UALYkiLexYSXZlcldoU2NpYXM/

  1. 在您的Google云端硬盘上创建一个文件夹,用于共享图像。

  2. 选择该文件夹,然后转到共享选项。将“有权访问的人”选项从“特定人员”更改为“网络上的公共”。放置在文件夹中的所有图像都将具有托管链接,如步骤4所示。

    (图像:更改文件夹选项.png更改文件夹选项2.png更改文件夹选项3.png

  3. 将图像放在该文件夹中。

  4. 选择您要共享的图片,然后在“详细信息”部分(通常在右侧)中查看“托管”部分,您应该找到一个以

    “ googledrive.com/host/(作为该文件夹ID的随机数和数字)/(文件名)”

    使用该链接共享您的图像。您可以使用该链接将其嵌入其他网站。

    (图片:更改文件夹选项4.png更改文件夹选项share.png


2

Vetea,如果您从图片URL中获取链接,则它不起作用,但是,如果您从“直接链接”字段中获取链接,则它应该起作用。我已经多次使用和测试过它。


2

Niutech提供的解决方案对我有用

http://googledrive.com/host/<folderID>/<filename>

但是有两个突出的问题

  1. 您在驱动器的同一文件夹中不能有2个具有相同名称的文件,否则此链接将不起作用。

  2. 目前尚不清楚,但Google似乎计划通过驱动器弃用图像托管。请参阅下面的链接。 https://support.google.com/richmedia/answer/6098968?hl=zh-CN


Google尚未就何时弃用该文件提供任何时间表?我打算将其与我的网站集成,但在阅读此书后不确定!
Shikhar 2015年


2

专门针对G-Suite用户。如此处第3点所述,您可以使用此URL托管图像

https://drive.google.com/a/domain.com/thumbnail?id=imageID

以下替换

  • domain:替换为您公司的GSuite域,例如 pikachu
  • imageID:替换为图片ID /文件ID

前提是必须通过吸引目标受众(与每个人单独或跨组织)共享图像

在此处输入图片说明


如果您遇到渲染图像大小的问题,请使用此处提到的以下选项

https://drive.google.com/a/domain.com/thumbnail?id=imageID&sz=w{width}-h{height}

具有以下替换(除了domainimageID替换之外)

  • {width}:以像素为单位写出宽度(不使用大括号),例如 300
  • {height}:以像素为单位写出高度(不包括大括号),例如 200

1

Google云端硬盘API中有一个文件类型选项。您也许可以检查是否可以解析为有效图像。我会考虑一个选项,如果文件类型给我一个无效的图像,然后为该文件获得一个新的直接URL。虽然我还没有弄清楚该怎么做,但是也许这是一个尝试的途径。


1

您可以直接在云端硬盘和Gmail中进行操作。就是这样:

1.将图片上传到Google驱动器并设置查看权限(可以是公开的,也可以是带有链接的任何人)

  1. 转到Gmail>撰写。选择附件图标旁边的+。

  2. 选择驱动器图标(三角形)

  3. 导航到您的图像,然后右键单击复制图像URL

  4. 根据需要粘贴到网络浏览器中或嵌入网页中。


这只会为您提供整个文档的链接。这样做毫无意义。您在编辑或查看文档时已经拥有该文档的URL。伙计们,停止发布有关如何找到文档URL的答案!我们已经知道它的URL。
Phil Goetz 2014年

1

1.将您的图片设置更改为公开。

2.获取其共享链接。

3.去这个网站并生成直接下载链接。

为我工作!


1

简单的解决方案

您要做的就是打开文件:

Google云端硬盘上的山峰图片

然后,进入您的Web检查器(适用于Chrome,Cmd-Shift-ICtrl-Shift-I取决于您的操作系统)并获取链接。做完了!

Web检查器中显示的图像的链接图像

该链接有效,请在此处尝试。


0

Con可以禁用javascript在浏览器中打开图像文件,然后在视图页面源中或右键单击图像,您将看到图像链接。(请在之前检查共享首选项)


那将是一个绝妙的窍门,但是如果禁用javascript并尝试打开google doc,则会收到消息:“浏览器未启用JavaScript,因此无法打开此文件。启用并重新加载。”
Phil Goetz 2014年


0

函数标题:goobox

标签:图片托管,正则表达式,URL,谷歌驱动器,投递箱,高级

  • 返回:string,返回可以直接用作图像源的字符串URL。
  • 当您在Google驱动器或保管箱上托管图片时,您不能使用文件的直接URL作为图片来源。
  • 您需要对此URL进行更改以将其直接用作图像源。
  • goobox() 将采用您图像文件的网址,并将其更改为直接用作图像源。
  • 重要提示:您需要首先检查文件的权限以及是否公开。
  • 实时示例:https//ybmex.csb.app/
cconst goobox = (url)=>{

    let dropbox_regex = /(http(s)*:\/\/)*(www\.)*(dropbox.com)/;
    let drive_regex =/(http(s)*:\/\/)*(www\.)*(drive.google.com\/file\/d\/)/;

    if(url.match(dropbox_regex)){
       return url.replace(/(http(s)*:\/\/)*(www\.)*/, "https://dl.");
    }
    if(url.match(drive_regex)){
        return `https://drive.google.com/uc?id=${url.replace(drive_regex, "").match(/[\w]*\//)[0].replace(/\//,"")}`;
    }
    return console.error('Wrong URL, not a vlid drobox or google drive url');
}
let url = 'https://drive.google.com/file/d/1PiCWHIwyQWrn4YxatPZDkB8EfegRIkIV/view' 

goobox(URL); //  https://drive.google.com/uc?id=1PiCWHIwyQWrn4YxatPZDkB8EfegRIkIV 

-3

但是,此答案很简单,实际上非常简单,而且很多人都提到它只是将图像ID放入以下链接https://drive.google.com/uc?export=view&id= {fileId}

但是,无论多么简单,我都使脚本可以在控制台中运行。从Google Drive输入一系列完整的可共享链接,并将其转换为上述链接。然后,它们可以简单地用作静态地址。

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)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.