mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-25 21:39:21 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
parent
54b54407f0
commit
07766d99b0
@ -174,12 +174,13 @@
|
||||
// Получает файл по ID
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен - token
|
||||
// Идентификатор - Строка - Идентификатор файла - object
|
||||
// Токен - Строка - Токен - token
|
||||
// Идентификатор - Строка - Идентификатор файла - object
|
||||
// ПутьСохранения - Строка - Путь сохранения файла - out
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Google
|
||||
Функция СкачатьФайл(Знач Токен, Знач Идентификатор) Экспорт
|
||||
// ДвоичныеДанные,Строка - двоичные данные или путь к файлу при указании параметра ПутьСохранения
|
||||
Функция СкачатьФайл(Знач Токен, Знач Идентификатор, Знач ПутьСохранения = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Идентификатор);
|
||||
@ -190,7 +191,7 @@
|
||||
Параметры = Новый Соответствие;
|
||||
Параметры.Вставить("alt", "media");
|
||||
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры , Заголовки);
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры , Заголовки, ПутьСохранения);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
|
@ -37,11 +37,11 @@
|
||||
|
||||
#Область ЗапросыБезТела
|
||||
|
||||
Функция Get(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "") Экспорт
|
||||
Функция Get(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач ФайлОтвета = "") Экспорт
|
||||
Возврат ВыполнитьЗапросБезТела(URL, "GET", Параметры, ДопЗаголовки);
|
||||
КонецФункции
|
||||
|
||||
Функция Delete(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "") Экспорт
|
||||
Функция Delete(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач ФайлОтвета = "") Экспорт
|
||||
Возврат ВыполнитьЗапросБезТела(URL, "DELETE", Параметры, ДопЗаголовки);
|
||||
КонецФункции
|
||||
|
||||
@ -49,16 +49,37 @@
|
||||
|
||||
#Область ЗапросыСТелом
|
||||
|
||||
Функция Post(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина, Знач ПолныйОтвет = Ложь) Экспорт
|
||||
Функция Post(Знач URL
|
||||
, Знач Параметры = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач JSON = Истина
|
||||
, Знач ПолныйОтвет = Ложь
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросСТелом(URL, "POST", Параметры, ДопЗаголовки, JSON, ПолныйОтвет);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Patch(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина, Знач ПолныйОтвет = Ложь) Экспорт
|
||||
Функция Patch(Знач URL
|
||||
, Знач Параметры = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач JSON = Истина
|
||||
, Знач ПолныйОтвет = Ложь
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросСТелом(URL, "PATCH", Параметры, ДопЗаголовки, JSON, ПолныйОтвет);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Put(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина, Знач ПолныйОтвет = Ложь) Экспорт
|
||||
Функция Put(Знач URL
|
||||
, Знач Параметры = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач JSON = Истина
|
||||
, Знач ПолныйОтвет = Ложь
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросСТелом(URL, "PUT", Параметры, ДопЗаголовки, JSON, ПолныйОтвет);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -69,7 +90,8 @@
|
||||
, Знач Параметры
|
||||
, Знач Файлы = ""
|
||||
, Знач ТипКонтента = "image/jpeg"
|
||||
, Знач ДопЗаголовки = "") Экспорт
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросМультипарт(URL, "POST", Параметры, Файлы, ТипКонтента, ДопЗаголовки);
|
||||
|
||||
@ -79,18 +101,31 @@
|
||||
, Знач Параметры
|
||||
, Знач Файлы = ""
|
||||
, Знач ТипКонтента = "image/jpeg"
|
||||
, Знач ДопЗаголовки = "") Экспорт
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросМультипарт(URL, "PUT", Параметры, Файлы, ТипКонтента, ДопЗаголовки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция PostMultipartRelated(Знач URL, Знач JSON = "", Знач Файлы = "", Знач ДопЗаголовки = "") Экспорт
|
||||
Функция PostMultipartRelated(Знач URL
|
||||
, Знач JSON = ""
|
||||
, Знач Файлы = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "POST", JSON, Файлы, ДопЗаголовки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция PatchMultipartRelated(Знач URL, Знач JSON = "", Знач Файлы = "", Знач ДопЗаголовки = "") Экспорт
|
||||
Функция PatchMultipartRelated(Знач URL
|
||||
, Знач JSON = ""
|
||||
, Знач Файлы = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "") Экспорт
|
||||
|
||||
Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "PATCH", JSON, Файлы, ДопЗаголовки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -103,6 +138,13 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ФайлТела = Ответ.ПолучитьИмяФайлаТела();
|
||||
|
||||
Если Не ФайлТела = Неопределено Тогда
|
||||
Ответ = ФайлТела;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
GZip = "gzip";
|
||||
НужнаРаспаковка =
|
||||
Ответ.Заголовки.Получить("Content-Encoding") = GZip
|
||||
@ -334,7 +376,13 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ВыполнитьЗапросСТелом(Знач URL, Знач Вид, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина, Знач ПолныйОтвет = Ложь)
|
||||
Функция ВыполнитьЗапросСТелом(Знач URL
|
||||
, Знач Вид
|
||||
, Знач Параметры = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач JSON = Истина
|
||||
, Знач ПолныйОтвет = Ложь
|
||||
, Знач ФайлОтвета = "")
|
||||
|
||||
Если Не ЗначениеЗаполнено(Параметры) Тогда
|
||||
Параметры = Новый Структура;
|
||||
@ -350,10 +398,16 @@
|
||||
|
||||
УстановитьТелоЗапроса(Запрос, Параметры, JSON);
|
||||
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета);
|
||||
|
||||
Если ЭтоПереадресация(Ответ) Тогда
|
||||
Ответ = ВыполнитьЗапросСТелом(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки, JSON);
|
||||
Ответ = ВыполнитьЗапросСТелом(Ответ.Заголовки["Location"]
|
||||
, Вид
|
||||
, Параметры
|
||||
, ДопЗаголовки
|
||||
, JSON
|
||||
, ПолныйОтвет
|
||||
, ФайлОтвета);
|
||||
Иначе
|
||||
ОбработатьОтвет(Ответ, ПолныйОтвет);
|
||||
КонецЕсли;
|
||||
@ -362,7 +416,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьЗапросБезТела(Знач URL, Знач Вид, Знач Параметры = "", Знач ДопЗаголовки = "")
|
||||
Функция ВыполнитьЗапросБезТела(Знач URL
|
||||
, Знач Вид
|
||||
, Знач Параметры = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "")
|
||||
|
||||
Если Не ЗначениеЗаполнено(Параметры) Тогда
|
||||
Параметры = Новый Структура;
|
||||
@ -374,10 +432,10 @@
|
||||
|
||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки);
|
||||
Соединение = СоздатьСоединение(Сервер);
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета);
|
||||
|
||||
Если ЭтоПереадресация(Ответ) Тогда
|
||||
Ответ = ВыполнитьЗапросБезТела(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки);
|
||||
Ответ = ВыполнитьЗапросБезТела(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки, ФайлОтвета);
|
||||
Иначе
|
||||
ОбработатьОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
@ -391,7 +449,8 @@
|
||||
, Знач Параметры
|
||||
, Знач Файлы = ""
|
||||
, Знач ТипКонтента = "image/jpeg"
|
||||
, Знач ДопЗаголовки = "")
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "")
|
||||
|
||||
Если Не ЗначениеЗаполнено(Параметры) Тогда
|
||||
Параметры = Новый Структура;
|
||||
@ -414,7 +473,13 @@
|
||||
Соединение = СоздатьСоединение(Сервер);
|
||||
|
||||
ТелоЗапроса = ПолучитьИмяВременногоФайла();
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", Ложь, "", Ложь);
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса
|
||||
, КодировкаТекста.UTF8
|
||||
, ПорядокБайтов.LittleEndian
|
||||
, ""
|
||||
, Ложь
|
||||
, ""
|
||||
, Ложь);
|
||||
|
||||
ЗаписатьПараметрыМультипарт(ЗаписьТекста, Boundary, Параметры);
|
||||
ЗаписатьФайлыМультипарт(ЗаписьТекста, Boundary, ТипКонтента, Файлы);
|
||||
@ -424,7 +489,7 @@
|
||||
|
||||
Запрос.УстановитьИмяФайлаТела(ТелоЗапроса);
|
||||
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета);
|
||||
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
||||
|
||||
Если ЭтоПереадресация Тогда
|
||||
@ -433,7 +498,8 @@
|
||||
, Параметры
|
||||
, Файлы
|
||||
, ТипКонтента
|
||||
, ДопЗаголовки);
|
||||
, ДопЗаголовки
|
||||
, ФайлОтвета);
|
||||
Иначе
|
||||
ОбработатьОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
@ -446,7 +512,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьЗапросМультипартРелэйтед(URL, Вид, JSON = "", Файлы = "", ДопЗаголовки = "")
|
||||
Функция ВыполнитьЗапросМультипартРелэйтед(Знач URL
|
||||
, Знач Вид
|
||||
, Знач JSON = ""
|
||||
, Знач Файлы = ""
|
||||
, Знач ДопЗаголовки = ""
|
||||
, Знач ФайлОтвета = "")
|
||||
|
||||
Переадресация = 300;
|
||||
Ошибка = 400;
|
||||
@ -461,7 +532,13 @@
|
||||
Соединение = СоздатьСоединение(Сервер);
|
||||
|
||||
ТелоЗапроса = ПолучитьИмяВременногоФайла();
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", Ложь, "", Ложь);
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса
|
||||
, КодировкаТекста.UTF8
|
||||
, ПорядокБайтов.LittleEndian
|
||||
, ""
|
||||
, Ложь
|
||||
, ""
|
||||
, Ложь);
|
||||
|
||||
ЗаписатьJSONМультипарт(ЗаписьТекста, Boundary, JSON);
|
||||
ЗаписатьФайлыРелэйтед(ЗаписьТекста, Boundary, Файлы);
|
||||
@ -473,11 +550,16 @@
|
||||
|
||||
Запрос.УстановитьИмяФайлаТела(ТелоЗапроса);
|
||||
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета);
|
||||
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
||||
|
||||
Если ЭтоПереадресация Тогда
|
||||
Ответ = ВыполнитьЗапросМультипартРелэйтед(Ответ.Заголовки["Location"], "POST", JSON, Файлы, ДопЗаголовки);
|
||||
Ответ = ВыполнитьЗапросМультипартРелэйтед(Ответ.Заголовки["Location"]
|
||||
, Вид
|
||||
, JSON
|
||||
, Файлы
|
||||
, ДопЗаголовки
|
||||
, ФайлОтвета);
|
||||
Иначе
|
||||
ОбработатьОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
Loading…
x
Reference in New Issue
Block a user