Есть обработка входящей почты, которая обрабатывала письма от определенного адресата. В письме во вложении были файлы, которые складывались в нужную папку. В какой-то момент файлы превысили 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;
Если Д.Выбрать() Тогда
Данные.Записать(Д.ПолноеИмяФайла);
КонецЕсли;