Подтвердить что ты не робот

Как вставить папку Google Диска на веб-сайт

У меня есть папка на Google Диске, которую я бы хотел встроить на свой сайт. Я не могу найти код для встраивания или что-либо, задокументированное в статьях справки Google Диска.

4b9b3361

Ответ 1

Папки Google Диска могут быть встроены и отображены в представлениях list и grid:

Просмотр списка

<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: что такое идентификатор папки (FOLDER-ID) и как я могу его получить?

A. Перейдите на Google Диск и откройте папку → посмотрите ее URL-адрес в адресной строке браузера. Например:

URL-адрес папки: https://drive.google.com/drive/folders/0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2

Идентификатор папки:
0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2

Предостережение с папками, требующими разрешения

Этот метод лучше всего подходит для папок с открытым доступом. Папки, которые делятся только с определенными учетными записями Google, будут создавать проблемы, когда вы внедряете их таким образом. Во время этого редактирования появляется сообщение "Требуется разрешение" с некоторыми кнопками, которые помогут вам "Запросить доступ" или "Переключить учетные записи" (или, возможно, войти в учетную запись Google). Javascript в этих кнопках не работает должным образом внутри IFRAME в Chrome.

Подробнее на https://productforums.google.com/forum/#!msg/drive/GpVgCobPL2Y/_Xt7sMc1WzoJ

Ответ 2

Вставка каталога Google Диска в IFRAME

Папки Google Диска могут быть встроены и отображены в представлениях list и grid (в которых все, что вы можете сделать, это щелкнуть файл или папку, чтобы открыть его на новой вкладке). Для этого просто замените 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>

Получение идентификатора вашей папки

Идентификатор - это хеш (буквенно-цифровая тарабарщина) после folders/ в URL-адресе папки. Вы можете увидеть URL-адрес в адресной строке вашего браузера при открытии папки "Дисковод". Например, в:

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

Идентификатор папки 0B1iqp0kGPjWsNDg5NWFlZjEtN2IwZC00NmZiLWE3MjktYTE2ZjZjNTZiMDY2.

Папка с доменом Google Suite/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.COM и FOLDER-ID на свой собственный.

Предостережение с папками, требующими разрешения

Этот метод лучше всего подходит для папок с открытым доступом. Папки, которые делятся только с определенными учетными записями Google, могут вызвать проблемы при их встраивании таким образом, в зависимости от того, какие учетные записи Google активны в браузере пользователя:

  • Если пользователь не выполнил вход в какую-либо учетную запись Google, в кадре появится ничего.
  • Если пользователь зарегистрирован в учетной записи без авторизации для доступа к папке, в кадре будет содержаться сообщение "Требуется разрешение" с некоторыми кнопками "Запросить доступ" или "Переключить учетные записи", но если вы нажмете на это последнее, кадр будет пропущен.
  • Если пользователь входит в учетную запись без надлежащих разрешений и позже добавляет авторизованную учетную запись, при загрузке встроенного диска Google прибегает к первой активной учетной записи, и пользователь увидит, что вам нужно разрешение, если...
  • Если URL-адрес содержит домен Google Suite и пользователь зарегистрирован в этой учетной записи домена, встроенное представление будет работать, даже если пользователь первым зарегистрировался в другой учетной записи.

Пустые фреймы состоят в том, что Google запрещает встраивать свою страницу входа в IFRAME (предположительно, чтобы предотвратить кражу учетной записи), через заголовок X-Frame-Options, который, если установлен на 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/Apps:

<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.COM и FOLDER-ID на свой собственный; удалите #grid, чтобы получить подробный список файлов.

В личных папках перед тем, как загружать страницу со встроенной папкой, зарегистрируйтесь на правильную учетную запись. если папка находится в домене Google Apps, вы можете добавить домен в URL-адрес. Кроме того, они должны войти в авторизованную учетную запись перед любым другим.

(этот ответ является отредактированием Мори, но он был отвергнут, поскольку он каким-то образом изменил его намерение)

Ответ 3

Для бизнес-приложений/Gsuite или того, что они называют, вы можете указать домен (с ошибкой 500 ошибок с исходным ответом при входе в несколько учетных записей Google).

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