Загружаем файлы с Google Drive через API

08.08.17

Интеграция - WEB-интеграция

В письмах вложений стали приходить ссылки на drive.google.com Ссылки не прямые. Качаем файлы через Google Drive API

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Загружаем файлы с Google Drive через API:
.epf 6,52Kb
36
36
1 SM
Скачать Купить за 1 850 руб.

Есть обработка входящей почты, которая обрабатывала письма от определенного адресата. В письме во вложении были файлы, которые складывались в нужную папку. В какой-то момент файлы превысили 20 Мб и гугловская почта вместо вложения стала вставлять в письмо ссылки на файлы. Необходимо было восстановить функционал. Поизучав тему, понял, что достаточно просто. Даже не нужно городить авторизацию по OAuth.

Будем считать, аккаунт в гугле уже есть. Заходим в консоль под собой. Первым делом включаем Google Drive API. Вибираем в списке доступных API

И включаем

Далее нужно получить ключ API. Идем в учетные данные.

И создаюем ключ.

Теперь созданный ключ будем использовать для доступа.

В обработке достаточно указать ключ и URL файла

В обработке все достаточно просто. Первым запросом получаю имя файла. Вторым уже качаем файл.

   ssl = Новый ЗащищенноеСоединениеOpenSSL(
				Новый СертификатКлиентаWindows(),
				Новый СертификатыУдостоверяющихЦентровWindows());   
                         
   Соединение = Новый HTTPСоединение("www.googleapis.com",,,,,, ssl);


   Запрос = Новый HTTPЗапрос("drive/v3/files/" + ИДФайла + "/?key=" + КлючAPI);
   
   Ответ = Соединение.Получить(Запрос);
   ИнфОФайле = Ответ.ПолучитьТелоКакСтроку();
   
   
   Чтение = Новый ЧтениеJSON;
   Чтение.УстановитьСтроку(ИнфОФайле);
   Отв = ПрочитатьJSON(Чтение);
		
   Запрос = Новый HTTPЗапрос("drive/v3/files/" + ИДФайла + "/?key=" + КлючAPI + "&alt=media");
   
   Ответ = Соединение.Получить(Запрос);
   
   
   Данные = Ответ.ПолучитьТелоКакДвоичныеДанные();
   
   ПутьДляСохранения = "";
   
   Д = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
   Д.ПолноеИмяФайла = Отв.name;
   
   
   Если Д.Выбрать() Тогда
      Данные.Записать(Д.ПолноеИмяФайла);
   КонецЕсли;

Google Drive API

См. также

Управление взаимоотношениями с клиентами (CRM) WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Подсистема интеграции Amo CRM с 1С: технические требования, порядок работы, возможности, доработки и обновления. Бесплатный период техподдержки - 1 месяц.

60000 руб.

07.05.2019    32008    62    41    

23

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    13451    39    8    

15

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16861    15    19    

15

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    17094    46    49    

26

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    19215    10    17    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nytlenc 08.08.17 17:09 Сейчас в теме
Ну как-то прям совсем кривоватенько.... Получение token по логину и паролю, а далее работу через него не судьба была реализовать?
2. user662672_explorer2000 226 08.08.17 18:51 Сейчас в теме
Нужен токен или файлы качать? Про токен уже писал здесь http://forum.infostart.ru/forum15/topic164841/, зачем повторяться?))
3. user662672_explorer2000 226 09.08.17 08:03 Сейчас в теме
4. Z_Z 14.02.19 11:36 Сейчас в теме
А у кого есть пример загрузки файла на гугл драйв?
5. bulpi 216 06.05.20 20:01 Сейчас в теме
Что-то я не понял.
1)Что такое ИДФайла ?
2)Зачем получать
Отв = ПрочитатьJSON(Чтение);
если потом этот Отв нигде не используется ?
9. neo-ti 16.02.21 19:25 Сейчас в теме
(5) "Отв" используется для получения имени - Отв.name
6. novatrade 11.05.20 20:30 Сейчас в теме
Спасибо автору. Натолкнул на мысли, удалось прочитать таблицы
10. bobo39 10.03.21 23:19 Сейчас в теме
7. novatrade 24.05.20 21:19 Сейчас в теме
Не подскажите - если дают ссылку на папку, то как потом получить список файлов из этой папки с ИД?
scanner1980; +1 Ответить
8. user636643_numrik 17.08.20 15:19 Сейчас в теме
Хотелось бы отметить, что ИДФайла , это GUID "0BxfX.......YVk"
user833786; +1 Ответить
11. user827326 14.10.21 14:00 Сейчас в теме
а как скачать файлы не зная ИДФайла? Например, всю папку?
12. zawal 15 21.02.22 12:59 Сейчас в теме
Добрый день, подскажите пожалуйста.
Запрос = Новый HTTPЗапрос("drive/v3/files/" + ИДФайла + "/?key=" + КлючAPI + "&alt=media");
выполняю этот запрос, система на "alt=media" говорит
{"error":{"errors":[{"domain":"global","reason":"unsupportedOutputFormat","message":"Unsupported Output Format","locationType":"parameter","location":"alt"}],"code":400,"message":"Unsupported Output Format"}}
Есть подозрение что неправильно работаю с заголовками так как файл очень большой.
Да и вместо ключа у меня Токен
13. maksa2005 542 02.03.22 12:22 Сейчас в теме
Спасибо. махом все получилось!
14. LavinVladik 223 20.04.23 10:27 Сейчас в теме
Простой и рабочий вариант. Спасибо.
15. user1940670 24.04.23 17:39 Сейчас в теме
Реализовал данный метод для скачивания ссылок с гугл диска.
После 20+ запросов идет блокировка доступа (((
Пробовал ставить паузу между запросами в 5 секунд - все то же самое - блокировка IP.
А так - все сработало, но видимо не для массовой закачки.
Если у кого есть знания или идеи как это поправить - буду крайне признателен.
Оставьте свое сообщение