Intereting Posts
MCrypt rijndael-128 для преобразования OpenSSL aes-128-ecb Автоматический формат HTML / PHP с разрывами строк и вкладками Получить только имя файла из url в php без каких-либо значений переменных, которые существуют в URL-адресе Есть ли способ сделать «INSERT … ON DUPLICATE KEY UDPATE» в Zend Framework 1.5? Поймать фатальное исключение и продолжить Проверьте язык строки на основе глифов в PHP node.js работает вместе с Apache PHP? Получение значений PHP $ _POST по индексу? Как получить категории для продукта в Magento Предупреждение: implode () : Пропущенные недопустимые аргументы Функция, которая преобразует значения шестнадцатеричного цвета в приблизительное имя цвета? Автоматическое завершение статуса для всех существующих заказов на обработку в WooCommerce Как создать общую папку между Homestead и моей локальной машиной PHP mcrypt_decrypt – могу ли я определить, расшифровывается ли информация с помощью правой клавиши? Godaddy – Codeigniter – Нет входного файла, указанного на сервере

Отображение документов с Google Диска на веб-странице

Можно ли отображать документы с моего диска на веб-странице? Я хочу, чтобы пользователь мог щелкнуть документ и загрузить его прямо с моего диска. Как мне это сделать? Спасибо вам за ваши предложения.

Для решения HTML / JavaScript рассмотрите следующие ссылки:

https://developers.google.com/drive/quickstart-js
https://www.youtube.com/watch?v=09geUJg11iA
https://developers.google.com/drive/web/auth/web-client

Вот самый простой способ использования JavaScript, большая часть сложности находится в вашей авторизации WebApp. В приведенном ниже примере читаются идентификаторы файлов, имена и описания в указанной вами папке.
– перейдите по адресу : https://cloud.google.com/console/project и создайте новый проект «xyz»
– Выберите «APIs & auth», отключите те, которые вам не нужны, включите «Drive API»,
– Выберите «Учетные данные»,
нажмите кнопку «СОЗДАТЬ НОВЫЙ КЛИЕНТ»
x Веб-приложение
Авторизованные источники Javascript: « https://googledrive.com/ »
Авторизованный URI перенаправления: « https://googledrive.com/oauth2callback »

это приведет к:
Идентификатор клиента: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com
Адрес электронной почты: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com
Секрет клиента: xxxxxxxxxxxxxxxxxxxx
Перенаправление URI: https://googledrive.com/oauth2callback
Javascript Происхождение: https://googledrive.com/

– в приведенном ниже коде заменить
CLIENT_ID с xxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com
FOLDER_ID с идентификатором, который вы видите в строке адреса папки,
https://drive.google.com/?tab=mo&authuser=0#folders/xxxxxxxxxxxxxxxxxxx

– запустить его, разрешить

Я не знаю, читаете ли вы JS, код может следовать снизу вверх, я сделал это как можно проще.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> var FOLDER_ID = '.xxxxxxxxxxxxxxxxxx'; // the folder files reside in var CLIENT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com'; var SCOPE = //'https://www.googleapis.com/auth/drive'; [ 'https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/drive.file', // for description, ]; function rsvpCB(resp) { var picAlbumLst = '<ul>\n'; for (i=0; i<resp.items.length; i++) picAlbumLst += ( ' <li>'+resp.items[i].id+',&nbsp;'+resp.items[i].title+',&nbsp;'+resp.items[i].description+'</li>\n'); picAlbumLst += "</ul>\n"; $('#container').append(picAlbumLst); } function rqstCB() { //test @ https://developers.google.com/drive/v2/reference/files/list var rv = gapi.client.drive.files.list({ 'q': '"'+FOLDER_ID+'" in parents and trashed = false', 'fields' : 'items(id,title,description)' //'items(id,title,description,indexableText)' }).execute(rsvpCB); } // authorization server reply function onAuthResult(authResult) { var authButton = document.getElementById('authorizeButton'); authButton.style.display = 'none'; if (authResult && !authResult.error) { // access token successfully retrieved gapi.client.load('drive', 'v2', rqstCB); } else { // no access token retrieved, force the authorization flow. authButton.style.display = 'block'; authButton.onclick = function() { checkAuth(false); } } } // check if the current user has authorized the application. function checkAuth(bNow) { gapi.auth.authorize({'client_id':CLIENT_ID, 'scope':SCOPE, 'immediate':bNow}, onAuthResult); } // called when the client library is loaded, look below function onLoadCB() { checkAuth(true); } </script> <script src="https://apis.google.com/js/client.js?onload=onLoadCB"></script> <body style="background-color: transparent;"> <input type="button" id="authorizeButton" style="display: none" value="Authorize" /> <div id="container"> </div> </body> 

Самое быстрое и простое решение – вставить папку с помощью iframe (без необходимости использования javascript). Очевидно, что это также наименее гибкое решение, хотя вы можете использовать CSS для изменения макета содержимого iframe (см. Ниже).

Google Диск не позволит встраивать URL-адрес, который вы обычно используете. Он имеет заголовок X-Frame-Options, установленный на «SAMEORIGIN», что предотвращает использование в iframe. Таким образом, вы должны использовать следующую ссылку, которая позволит внедрить:
https://drive.google.com/embeddedfolderview?id=DOCUMENT_ID#VIEW_TYPE

DOCUMENT_ID – это идентификатор, указанный в обычной ссылке общего доступа (которая выглядит как https://drive.google.com/folderview?id=DOCUMENT_ID ), поэтому вы можете просто скопировать ее оттуда.

VIEW_TYPE должен быть либо «сеткой», либо «списком», в зависимости от ваших предпочтений.

И если вам нужно изменить стиль содержимого iframe, взгляните на это решение .

Вот некоторые основные моменты:

  • Вы хотите, чтобы кто-нибудь с URL-адресом мог видеть ваш документ? Вы можете поделиться документом как общедоступным для всех в Интернете. Кроме того, вы можете установить доступ для чтения к определенным папкам. Просто щелкните файл Google Doc правой кнопкой мыши и выберите «Поделиться» из контекстного меню.
  • Я предполагаю, что вы хотите, чтобы люди загружали ваши документы, даже если вы не вошли в систему. Это называется «Offline Access», и это один из многих терминов, который вам нужно будет выяснить, чтобы сделать все это с помощью программа.
  • Если вы только хотите предоставить read access для read access пользователю, использование JavaScript, jQuery и т. Д. На передней панели является жизнеспособным вариантом. Вы также можете сделать это на PHP, это всего лишь вопрос личных предпочтений.
  • Чтобы сделать все это в коде, вам необходимо предоставить авторизацию для чтения ваших файлов. Процесс oAuth2 имеет несколько этапов, и хорошо понимать основной поток. Настройка кода и веб-страниц для первоначального предоставления авторизации, а затем извлечение и сохранение токенов могут запутаться.
  • В вашем проекте Google есть параметр, из которого начинается исходный запрос авторизации. Это ваш сайт. Но если вы хотите разработать и протестировать локально, вы можете настроить Javascript Origins на http://localhost
  • Сколько у вас времени и сколько опыта программирования? Было бы проще дать пользователю несколько строк инструкции «Вручную» загрузить файл, а не запрограммировать проверку авторизации?
  • Помещение документа на вашу веб-страницу – легкая часть.
  • Чтобы внедрить документ Google на свой веб-сайт, перейдите на свой Google Диск, откройте документ и выберите « File затем « Publish to Web , и вам будет предоставлен тег iFrame HTML, который может быть встроен в вашу веб-страницу. Вы можете изменить высоту и ширину iFrame в соответствии с размером документа. Инструкции iFrame W3Schools
  • Скачивание документа можно сделать очень легко из онлайн-версии общего документа, просто выбрав FILE а затем DOWNLOAD AS из меню.
  • Чтобы быстро встать и работать, просто дайте пользователю пару строк инструкций о том, как загрузить «Вручную», а затем посмотрите, можете ли вы запрограммировать код.
  • Предоставьте ссылку на общий документ вместо того, чтобы программировать кнопку, а затем работать с кодом.
  • Найдите Git Hub для Google Диска, вы можете найти что-то там.
  • Некоторые из официальных примеров кода Google намного сложнее, чем вам нужно, и это займет много времени, чтобы понять. Примеры кода на страницах документации проще, но почти никогда не завершают работу с примерами кода. Вам нужно будет собрать много кусочков головоломки, чтобы заставить его работать.

Это должно быть сделано с помощью API Google . Вы можете искать google drive php api list files в google . И также я нашел это и это на SO.