15.04.2020 Вадим Хоменко 14218
Работа в облаке на примере Яндекс.Диска

Содержание:

1.    Подготовка к работе с облачным хранилищем Яндекс

2.    Yandex WebDav и RESTAPI

   

Часто перед разработчиком стоит задача – хранение информации вне устройства. Будь то персональный компьютер или мобильное приложение всегда есть необходимость передавать информацию. Например, для обмена или резервирования. Один из способов сделать это – использовать облачные хранилища данных. Сегодня мы обсудим работу с одним из них – с облачным хранилищем Яндекс.


Яндекс.Диск – один из самых популярных сервисов для хранения файлов. Разработчикам (не только 1С) предоставляется два варианта работы с этим хранилищем, используя WebDav yandex и через RESTAPI.


Коротко о том, что это за механизмы:


WebDav – это, по сути, расширение к протоколу http, которое позволяет выполнять файловые операции соответствующими методами запроса;


- RESTAPI – это простой веб интерфейс с определенным набором команд. Набор команд определяет сам разработчик, в нашем случае - Яндекс.Диск.


Рассмотрим оба этих механизма применимо к 1С.  


1.    Подготовка к работе с облачным хранилищем Яндекс


Яндекс предлагает в документации использовать OAuth для авторизации. Для этого нам нужно выполнить несколько не сложных шагов:


1) зарегистрировать свое приложение на «oauth.yandex.ru».
2) дать права приложению. Можно для экспериментов выделить все для Яндекс.Диск REST API и Яндекс.Диск WebDAV API. И получить ID приложения yandex.





3) Используя полученный ID в ссылке «oauth.yandex.ru/authorize?response_type=token&client_id=ID_приложения»
получить токен доступа. Сохраняем его в надежном месте. Далее его будем использовать для авторизации. Уточню, токен действует один год. Также пункт 3 можно выполнять непосредственно на устройстве, которое будет получать доступ. Но здесь мы этот случай рассматривать не будем. 


2. Yandex WebDav и RESTAPI

WebDav

Самый простой способ, если надо организовать все быстро, без лишнего кода и с минимумом действий.


Берем строку шаблон https://%user%:%password%@webdav.yandex.ru/%Каталог%/
Вписываем свои логин, пароль и каталог.
Используем метод глобального контекста КопироватьФайл()




Меняя местами путь к локальному файлу и полный путь к файлу на яндексе, получаем обратное направление транспорта файла; либо на яндекс, либо из яндекса.
Вот так просто!


RESTAPI

Здесь уже придется немного покодить.


Начнем с копирования на Яндекс.
Нам нужно создать соединение с cloud-api.yandex.net, используя токен полученный ранее, авторизоваться и указать куда мы хотим отправить файл. Например:





В ответ мы получим ссылку, которую нужно использовать для передачи файла (данные).




Скачанные файлы в Яндексе:

Здесь почти все тоже самое за исключением строки с параметрами запроса и того, что ссылка может быть перенаправлена. Смотрим, как это выглядит.




А вот что содержит функция ПолучитьФайлПоСсылке():




Приведенным примером можно воспользоваться и для реализации других методов взаимодействия и хранения на Яндекс.диске.


Подводя итог, могу сказать, что для простого копирования файлов достаточно использовать WebDav, но если требуются дополнительные возможности, тогда уж придется осваивать RESTAPI при работе в облаке.


Специалист компании ООО «Кодерлайн»

Вадим Хоменко

 

Наши проекты

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделения:
• распределение ролей стало более четким и структурированны...

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетность...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные активы
Расчеты с контрагентами
Регламентированная ...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение документов
• Учет рабочего времени
Закупки (снабжение) и...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет бухгалтерский, налоговый, бюджетный, включая регламентированную ...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор кадров
-Анализ кадрового состава
-Учет рабочего времен...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ · Управление цепочками поставок · Управление договорами, включа...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

Внедренное типовое решение:
1С:Управление холдингом

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казначейства, бюджетного управления, CRM, подсистем закупок и реализаци...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление заказов поставщикам;
Управление продажами, логистикой и т...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление предприятием», «1С:Управление корпоративными финансами»...

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

- Управление отношениями с клиентами (CRM)
- Делопроизводство
- Ведение номенклатуры дел
- Работа с обращениями граждан
- У...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедрением подсистем «Нормативное планирования», «Мобильное АРМ», «Ре...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение