I have a folder in Google Drive that I'd like to embed in my website. I can't find an embed code or anything documented in Google Drive Help articles.
相关问题
- Views base64 encoded blob in HTML with PHP
- Is there a way to play audio on a mobile browser w
- HTML form is not sending $_POST values
- implementing html5 drag and drop photos with knock
-
Why does the box-shadow property not apply to a
Google Drive folders can be embedded and displayed in
list
andgrid
views:List view
Grid view
Q: What is a folder ID (FOLDER-ID) and how can I get it?
A: Go to Google Drive >> open the folder >> look at its URL in the address bar of your browser. For example:
Folder URL: https://drive.google.com/drive/folders/0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2
Folder ID:
0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2
Caveat with folders requiring permission
This technique works best for folders with public access. Folders that are shared only with certain Google accounts will cause trouble when you embed them this way. At the time of this edit, a message "You need permission" appears, with some buttons to help you "Request access" or "Switch accounts" (or possibly sign-in to a Google account). The Javascript in these buttons doesn't work properly inside an
IFRAME
in Chrome.Read more at https://productforums.google.com/forum/#!msg/drive/GpVgCobPL2Y/_Xt7sMc1WzoJ
For business/Gsuite apps or whatever they call them, you can specify the domain (had problem with 500 errors with the original answer when logged into multiple Google accounts).
Embedding a Google Drive directory in an IFRAME
Google Drive folders can be embedded and displayed in
list
andgrid
views (in which all you can do is click a file or folder to open it on a new tab). To do so, simply replace FOLDER-ID with your own in:List view
or without specifying a mode, since list mode is the default:
Grid view
Obtaining your folder id
The id is the hash (alphanumeric gibberish) after
folders/
in the URL of the folder. You can see the URL in the address bar of your browser when you open the Drive folder. For example, in:The Folder ID is
0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2
.Folder with G Suite/Google Apps domain
If your folder is part of a Google Apps domain, you can add the domain to the URL to alleviate the permission problems (detailed further ahead):
Just replace MY.DOMAIN.COM and FOLDER-ID with your own.
Caveat with folders requiring permission
This technique works best for folders with public access. Folders that are shared only with certain Google accounts can cause trouble when you embed them this way, depending on which Google accounts are active on the user's browser:
The blank frames are because Google forbids embedding its login page in an IFRAME (presumably to prevent account stealing), via the
X-Frame-Options
header, which if set toSAMEORIGIN
will cause any well-behaved browser to refuse to load the page if it's not in the same domain (v.g.drive.google.com
). You can see this in the developer console of your browser.TL;DR
To get a list or grid view of a Drive folder (in which all you can do is click a file or folder to open it on a new tab), use:
or alternatively, for a Google Suite/Apps Drive:
Replace MY.DOMAIN.COM and FOLDER-ID with your own; remove
#grid
to get a detailed file list.For private folders, have your users log to the correct account before loading the page with the embedded folder; if the folder is in a Google Apps domain, you can add the domain to the URL. Else, they must log into the authorised account before any other.
(this answer is an edit of Mori's, but it was rejected as it changed his intent, somehow)