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

08.08.17

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

См. также

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

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    6125    4    3    

7

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

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    3468    17    2    

19

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

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1856    1    0    

1

Обмен с ГосИС 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

5196 руб.

28.04.2016    97443    110    218    

359

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

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

5000 руб.

08.11.2017    69718    415    298    

84

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

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20294    58    52    

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