如何在网站中嵌入Google云端硬盘文件夹

问题描述 投票:49回答:4

我在Google云端硬盘中有一个文件夹想要嵌入到我的网站中。我找不到嵌入代码或Google云端硬盘帮助文章中记录的任何内容。

html google-drive-api embed
4个回答
76
投票

[Google云端硬盘文件夹可以嵌入并显示在listgrid视图中:

列表视图

<iframe src="https://drive.google.com/embeddedfolderview?id=FOLDER-ID#list" style="width:100%; height:600px; border:0;"></iframe>

网格视图

<iframe src="https://drive.google.com/embeddedfolderview?id=FOLDER-ID#grid" style="width:100%; height:600px; border:0;"></iframe>

Q:什么是文件夹ID(FOLDER-ID),如何获取?

A:转到Google云端硬盘>>打开文件夹>>在浏览器地址栏中查看其URL。例如:

文件夹URLhttps://drive.google.com/drive/folders/0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2

文件夹ID:0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2

使用需要许可的文件夹进行加密

此技术最适合具有公共访问权限的文件夹。当您以这种方式嵌入时,仅与某些Google帐户共享的文件夹会引起麻烦。进行此编辑时,将显示一条消息“您需要权限”,其中包含一些按钮,可帮助您“请求访问权限”或“切换帐户”(或可能登录到Google帐户)。这些按钮中的Javascript在Chrome的IFRAME内部无法正常运行。

阅读更多https://productforums.google.com/forum/#!msg/drive/GpVgCobPL2Y/_Xt7sMc1WzoJ


14
投票

在IFRAME中嵌入Google云端硬盘目录

Google云端硬盘文件夹可以嵌入并显示在listgrid视图中(您所要做的就是单击文件或文件夹以在新标签上打开它)。为此,只需将FOLDER-ID替换为您自己的位置:

列表视图

<iframe src="https://drive.google.com/embeddedfolderview?id=FOLDER-ID#list" style="width:100%; height:600px; border:0;"></iframe>

或无需指定模式,因为列表模式是默认模式:

<iframe src="https://drive.google.com/embeddedfolderview?id=FOLDER-ID" style="width:100%; height:600px; border:0;"></iframe>

网格视图

<iframe src="https://drive.google.com/embeddedfolderview?id=FOLDER-ID#grid" style="width:100%; height:600px; border:0;"></iframe>

获取文件夹ID

id是文件夹URL中folders/之后的哈希(字母数字乱码)。打开云端硬盘文件夹时,您可以在浏览器的地址栏中看到该URL。例如,在:

https://drive.google.com/drive/folders/0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2 

文件夹ID为0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2

带有G Suite / Google Apps域的文件夹

如果您的文件夹是Google Apps域的一部分,则可以将该域添加到URL中,以减轻权限问题(在后面进一步介绍):

<iframe src="https://drive.google.com/a/MY.DOMAIN.COM/embeddedfolderview?id=FOLDER-ID#grid" style="width:100%; height:600px; border:0;"></iframe>

只需用您自己的替换MY.DOMAIN.COMFOLDER-ID

使用需要许可的文件夹进行加密

此技术最适合具有公共访问权限的文件夹。仅当与某些Google帐户共享的文件夹以这种方式嵌入时,可能会导致麻烦,具体取决于用户浏览器上处于活动状态的Google帐户:

  1. 如果用户尚未登录任何Google帐户,则框架中将显示nothing
  2. 如果用户未经授权登录到帐户访问该文件夹,则该框架将包含消息您需要许可,并带有一些指向请求访问权限切换帐户的按钮,但是如果单击最后一个,该框架将消失。
  3. 如果用户在没有适当权限的情况下登录帐户,后来又添加了授权帐户,则在加载嵌入式Drive时,Google将求助于第一个活动帐户,并且用户将看到您需要权限,除非。 。
  4. 如果URL包含Google Suite域,并且用户登录到该域的帐户,则嵌入视图将起作用,即使用户先登录到另一个帐户,也可以使用该视图。]

空白帧是因为Google禁止通过X-Frame-Options标头将其登录页面嵌入IFRAME(以防止帐户被盗),如果将其设置为SAMEORIGIN,则会导致任何行为良好的浏览器拒绝加载如果页面不在同一域中(vg drive.google.com)。您可以在浏览器的开发人员控制台中看到此内容。

TL; DR

要获取驱动器文件夹的列表或网格视图(您可以在其中单击文件或文件夹以在新选项卡上将其打开),请使用:

<iframe src="https://drive.google.com/embeddedfolderview?id=FOLDER-ID#grid" style="width:100%; height:600px; border:0;"></iframe>

或者,对于Google Suite /应用程序驱动器:

<iframe src="https://drive.google.com/a/MY.DOMAIN.COM/embeddedfolderview?id=FOLDER-ID#grid" style="width:100%; height:600px; border:0;"></iframe>

用您自己的替换MY.DOMAIN.COMFOLDER-ID;删除#grid以获取详细的文件列表。

对于私人文件夹,在加载带有嵌入式文件夹的页面之前,请让您的用户登录到正确的帐户;如果文件夹位于Google Apps域中,则可以将域添加到URL。否则,他们必须先登录授权帐户。

((此答案是Mori的编辑,但由于改变了他的[[intent,以某种方式,所以被拒绝了)]


2
投票
对于商业/ Gsuite应用程序或任何他们称呼的应用程序,您可以指定域(登录到多个Google帐户时,原始答案出现500个错误,并带有原始答案)。

<iframe src="https://drive.google.com/a/YOUR_COMPANY_DOMAIN/embeddedfolderview?id=FOLDER-ID" style="width:100%; height:600px; border:0;" > </iframe>


0
投票
在编写此答案时,没有嵌入方法,该方法可以使用户在不离开网站的情况下浏览文件夹并查看文件(其他答案中的方法使所有内容都在Google云端硬盘网站的新标签页中打开),因此我为此做了自己的工具。要嵌入驱动器,请将下面的iframe代码粘贴到HTML中:
© www.soinside.com 2019 - 2024. All rights reserved.