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

08.08.17

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

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

Скачать исходный код

Наименование Файл Версия Размер
Загружаем файлы с Google Drive через API:
.epf 6,52Kb
35
.epf 6,52Kb 35 Скачать

Есть обработка входящей почты, которая обрабатывала письма от определенного адресата. В письме во вложении были файлы, которые складывались в нужную папку. В какой-то момент файлы превысили 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

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

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

36000 руб.

03.08.2020    15933    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

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

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

5040 руб.

04.05.2021    17890    6    15    

12

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88946    163    216    

318

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25874    9    0    

7

Интеграция с сервисом vetmanager

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

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

12000 руб.

02.02.2021    16480    42    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nytlenc 08.08.17 17:09 Сейчас в теме
Ну как-то прям совсем кривоватенько.... Получение token по логину и паролю, а далее работу через него не судьба была реализовать?
2. user662672_explorer2000 225 08.08.17 18:51 Сейчас в теме
Нужен токен или файлы качать? Про токен уже писал здесь http://forum.infostart.ru/forum15/topic164841/, зачем повторяться?))
3. user662672_explorer2000 225 09.08.17 08:03 Сейчас в теме
4. Z_Z 14.02.19 11:36 Сейчас в теме
А у кого есть пример загрузки файла на гугл драйв?
5. bulpi 215 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 534 02.03.22 12:22 Сейчас в теме
Спасибо. махом все получилось!
14. LavinVladik 214 20.04.23 10:27 Сейчас в теме
Простой и рабочий вариант. Спасибо.
15. user1940670 24.04.23 17:39 Сейчас в теме
Реализовал данный метод для скачивания ссылок с гугл диска.
После 20+ запросов идет блокировка доступа (((
Пробовал ставить паузу между запросами в 5 секунд - все то же самое - блокировка IP.
А так - все сработало, но видимо не для массовой закачки.
Если у кого есть знания или идеи как это поправить - буду крайне признателен.
Оставьте свое сообщение