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

08.08.17

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Загружаем файлы с Google Drive через API:
.epf 6,52Kb
37
37 Скачать (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

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2917    3    0    

11

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

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

60000 руб.

07.05.2019    34993    69    45    

27

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

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

57600 руб.

26.11.2024    2658    2    3    

5

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    1008    6    2    

8

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4541    4    2    

5

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

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

36000 руб.

03.08.2020    19240    23    22    

20

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

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

12000 руб.

02.02.2021    19003    54    50    

31

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

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