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

08.08.17

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

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

Файлы

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

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

Подписка 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С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

36000 руб.

03.08.2020    22976    33    24    

26

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

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

17280 руб.

20.12.2024    5058    22    4    

24

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

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

19672 руб.

02.02.2021    21636    62    52    

40

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять товары в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически синхронизирует ваш каталог. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12000 руб.

29.08.2025    1423    2    0    

3

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С:Предприятие 8 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    99679    114    218    

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