You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
Notion API: Определение типов, создание страницы в базу, данные базы
This commit is contained in:
@@ -1,3 +1,27 @@
|
|||||||
|
// MIT License
|
||||||
|
|
||||||
|
// Copyright (c) 2024 Anton Tsitavets
|
||||||
|
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
|
||||||
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
#Область РаботаСоСтраницами
|
#Область РаботаСоСтраницами
|
||||||
@@ -33,20 +57,18 @@
|
|||||||
// Параметры:
|
// Параметры:
|
||||||
// Токен - Строка - Токен
|
// Токен - Строка - Токен
|
||||||
// Родитель - Строка - ID родительской базы
|
// Родитель - Строка - ID родительской базы
|
||||||
// Свойства - Структура Из Строка - Структура/Соответствие свойств. Должен соответствовать шаблону свойств базы
|
// Свойства - Соответствие - Соответствие свойств. Должен соответствовать шаблону свойств базы
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Создать страницу в базу
|
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - Создать страницу в базу
|
||||||
Функция СоздатьСтраницуВБазу(Знач Токен, Знач Родитель, Знач Свойства) Экспорт
|
Функция СоздатьСтраницуВБазу(Знач Токен, Знач Родитель, Знач Данные) Экспорт
|
||||||
|
|
||||||
ДанныеБазы = ПолучитьБазуДанных(Токен, Родитель);
|
|
||||||
|
|
||||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||||
Свойства = Новый Структура;
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
|
|
||||||
ДобавитьРодителяСтраницы(Родитель, Ложь, Параметры);
|
ДобавитьРодителяСтраницы(Родитель, Истина, Параметры);
|
||||||
|
|
||||||
|
Свойства = ЗаполнитьДанныеПоСхеме(Родитель, Данные, Токен);
|
||||||
Параметры.Вставить("properties", Свойства);
|
Параметры.Вставить("properties", Свойства);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Post("https://api.notion.com/v1/pages", Параметры, Заголовки);
|
Ответ = OPI_Инструменты.Post("https://api.notion.com/v1/pages", Параметры, Заголовки);
|
||||||
@@ -74,6 +96,50 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИзменитьСвойстваСтраницы(Знач Токен, Знач Страница, Знач Данные = "", Знач Иконка = "", Знач Обложка = "", Знач Архивирована = Ложь) Экспорт
|
||||||
|
|
||||||
|
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||||
|
Параметры = Новый Структура;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Данные) И ТипЗнч(Данные) = Тип("Соответствие") Тогда
|
||||||
|
Свойства = ЗаполнитьДанныеПоСхеме(Страница, Данные, Токен, Ложь);
|
||||||
|
Иначе
|
||||||
|
Свойства = Новый Соответствие;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Иконка) Тогда
|
||||||
|
СоответствиеИконки = Новый Соответствие;
|
||||||
|
СоответствиеИконки.Вставить("Icon", Иконка);
|
||||||
|
|
||||||
|
ОбъектИконка = ПреобразоватьЗначениеПоТипу("files", СоответствиеИконки);
|
||||||
|
ОбъектИконка = ОбъектИконка["files"][0];
|
||||||
|
ОбъектИконка.Удалить("name");
|
||||||
|
|
||||||
|
Параметры.Вставить("icon", ОбъектИконка);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Обложка) Тогда
|
||||||
|
СоответствиеОбложки = Новый Соответствие;
|
||||||
|
СоответствиеОбложки.Вставить("Cover", Обложка);
|
||||||
|
|
||||||
|
ОбъектОбложка = ПреобразоватьЗначениеПоТипу("files", СоответствиеОбложки);
|
||||||
|
ОбъектОбложка = ОбъектОбложка["files"][0];
|
||||||
|
ОбъектОбложка.Удалить("name");
|
||||||
|
|
||||||
|
Параметры.Вставить("cover", ОбъектОбложка);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Параметры.Вставить("properties", Свойства);
|
||||||
|
Параметры.Вставить("archived", Архивирована);
|
||||||
|
|
||||||
|
ПреобразоватьИД(Страница);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Patch("https://api.notion.com/v1/pages/" + Страница, Параметры, Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область РаботаСБазамиДанных
|
#Область РаботаСБазамиДанных
|
||||||
@@ -222,19 +288,8 @@
|
|||||||
|
|
||||||
Процедура ДобавитьЗаголовокБазы(Знач Заголовок, ОсновнаяСтруктура)
|
Процедура ДобавитьЗаголовокБазы(Знач Заголовок, ОсновнаяСтруктура)
|
||||||
|
|
||||||
СтруктураДанных = Новый Структура;
|
Заголовок = ПреобразоватьЗаголовок(Заголовок);
|
||||||
СтруктураТекста = Новый Структура;
|
ОсновнаяСтруктура.Вставить("title", Заголовок["title"]);
|
||||||
МассивДанных = Новый Массив;
|
|
||||||
|
|
||||||
СтруктураТекста.Вставить("content", Заголовок);
|
|
||||||
СтруктураТекста.Вставить("link" , Неопределено);
|
|
||||||
|
|
||||||
СтруктураДанных.Вставить("type", "text");
|
|
||||||
СтруктураДанных.Вставить("text", СтруктураТекста);
|
|
||||||
|
|
||||||
МассивДанных.Добавить(СтруктураДанных);
|
|
||||||
|
|
||||||
ОсновнаяСтруктура.Вставить("title", МассивДанных);
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -285,4 +340,232 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ЗаполнитьДанныеПоСхеме(Знач Схема, Знач Данные, Знач Токен, Знач ЭтоБаза = Истина)
|
||||||
|
|
||||||
|
Если ЭтоБаза Тогда
|
||||||
|
ДанныеСхемы = ПолучитьБазуДанных(Токен, Схема);
|
||||||
|
Иначе
|
||||||
|
ДанныеСхемы = ПолучитьСтраницу(Токен, Схема);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПоляБазы = ДанныеСхемы["properties"];
|
||||||
|
Свойства = Новый Соответствие;
|
||||||
|
|
||||||
|
Для Каждого Поле Из ПоляБазы Цикл
|
||||||
|
|
||||||
|
ДанныеПоля = Поле.Значение;
|
||||||
|
ТипПоля = ДанныеПоля["type"];
|
||||||
|
|
||||||
|
ЗаполняемыеДанные = Данные.Получить(Поле.Ключ);
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(ЗаполняемыеДанные) Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПреобразованныеДанные = ПреобразоватьЗначениеПоТипу(ТипПоля, ЗаполняемыеДанные);
|
||||||
|
|
||||||
|
Если ПреобразованныеДанные = Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Свойства.Вставить(ДанныеПоля["id"], ПреобразованныеДанные);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Свойства;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#Область ПреобразованиеТипов
|
||||||
|
|
||||||
|
Функция ПреобразоватьЗначениеПоТипу(Знач Тип, Знач Значение)
|
||||||
|
|
||||||
|
Если Тип = "title" Тогда
|
||||||
|
Возврат ПреобразоватьЗаголовок(Значение);
|
||||||
|
ИначеЕсли Тип = "rich_text" Тогда
|
||||||
|
Возврат ПреобразоватьТекст(Значение);
|
||||||
|
ИначеЕсли Тип = "number" Тогда
|
||||||
|
Возврат ПреобразоватьЧисло(Значение);
|
||||||
|
ИначеЕсли Тип = "select" Тогда
|
||||||
|
Возврат ПреобразоватьВариантВыбора(Значение);
|
||||||
|
ИначеЕсли Тип = "multi_select" Тогда
|
||||||
|
Возврат ПреобразоватьМножественныйВыбор(Значение);
|
||||||
|
ИначеЕсли Тип = "status" Тогда
|
||||||
|
Возврат ПреобразоватьСтатус(Значение);
|
||||||
|
ИначеЕсли Тип = "date" Тогда
|
||||||
|
Возврат ПреобразоватьеДату(Значение);
|
||||||
|
ИначеЕсли Тип = "relation" Тогда
|
||||||
|
Возврат ПреобразоватьСвязь(Значение);
|
||||||
|
ИначеЕсли Тип = "people" Тогда
|
||||||
|
Возврат ПреобразоватьПользователей(Значение);
|
||||||
|
ИначеЕсли Тип = "files" Тогда
|
||||||
|
Возврат ПреобразоватьФайлы(Значение);
|
||||||
|
ИначеЕсли Тип = "checkbox" Тогда
|
||||||
|
Возврат ПреобразоватьБулево(Значение);
|
||||||
|
ИначеЕсли Тип = "url" Тогда
|
||||||
|
Возврат ПреобразоватьСсылку(Значение);
|
||||||
|
ИначеЕсли Тип = "email" Тогда
|
||||||
|
Возврат ПреобразоватьПочту(Значение);
|
||||||
|
ИначеЕсли Тип = "phone_number" Тогда
|
||||||
|
Возврат ПреобразоватьТелефон(Значение);
|
||||||
|
Иначе
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьЗаголовок(Знач Заголовок)
|
||||||
|
|
||||||
|
СтруктураДанных = Новый Структура;
|
||||||
|
СтруктураТекста = Новый Структура;
|
||||||
|
МассивДанных = Новый Массив;
|
||||||
|
|
||||||
|
СтруктураТекста.Вставить("content", Заголовок);
|
||||||
|
СтруктураТекста.Вставить("link" , Неопределено);
|
||||||
|
|
||||||
|
СтруктураДанных.Вставить("type", "text");
|
||||||
|
СтруктураДанных.Вставить("text", СтруктураТекста);
|
||||||
|
|
||||||
|
МассивДанных.Добавить(СтруктураДанных);
|
||||||
|
|
||||||
|
Возврат Новый Структура("title", МассивДанных);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьТекст(Знач Текст)
|
||||||
|
|
||||||
|
МассивТекста = Новый Массив;
|
||||||
|
СтруктураТекста = Новый Структура;
|
||||||
|
|
||||||
|
СтруктураТекста.Вставить("type", "text");
|
||||||
|
СтруктураТекста.Вставить("text", Новый Структура("content", Текст));
|
||||||
|
|
||||||
|
МассивТекста.Добавить(СтруктураТекста);
|
||||||
|
|
||||||
|
Возврат Новый Структура("rich_text", МассивТекста);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьЧисло(Знач Число)
|
||||||
|
|
||||||
|
//Число = OPI_Инструменты.ЧислоВСтроку(Число);
|
||||||
|
Возврат Новый Структура("number", Число);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьВариантВыбора(Знач Вариант)
|
||||||
|
|
||||||
|
СтруктураВыбора = Новый Структура;
|
||||||
|
СтруктураВыбора.Вставить("select", Новый Структура("name", Вариант));
|
||||||
|
|
||||||
|
Возврат СтруктураВыбора;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьСтатус(Знач Статус)
|
||||||
|
|
||||||
|
СтруктураСтатуса = Новый Структура;
|
||||||
|
СтруктураСтатуса.Вставить("status", Новый Структура("name", Статус));
|
||||||
|
|
||||||
|
Возврат СтруктураСтатуса;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьМножественныйВыбор(Знач МассивВариантов)
|
||||||
|
|
||||||
|
МассивВариантовВыбора = Новый Массив;
|
||||||
|
|
||||||
|
Для Каждого Вариант Из МассивВариантов Цикл
|
||||||
|
МассивВариантовВыбора.Добавить(Новый Структура("name", Вариант));
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый Структура("multi_select", МассивВариантовВыбора);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьеДату(Знач Дата)
|
||||||
|
|
||||||
|
СтруктураДаты = Новый Структура;
|
||||||
|
|
||||||
|
Если Дата = НачалоДня(Дата) Тогда
|
||||||
|
ФорматДаты = "ДФ=yyyy-MM-dd";
|
||||||
|
Иначе
|
||||||
|
ФорматДаты = "ДФ=yyyy-MM-ddThh:mm:ssZ";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Дата = Формат(Дата, ФорматДаты);
|
||||||
|
СтруктураДаты.Вставить("start", Дата);
|
||||||
|
|
||||||
|
Возврат Новый Структура("date", СтруктураДаты);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьСвязь(Знач Идентификатор)
|
||||||
|
|
||||||
|
МассивСвязи = Новый Массив;
|
||||||
|
МассивСвязи.Добавить(Новый Структура("id", Идентификатор));
|
||||||
|
|
||||||
|
Возврат Новый Структура("relation", МассивСвязи);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьПользователей(Знач МассивИД)
|
||||||
|
|
||||||
|
Если Не ТипЗнч(МассивИД) = Тип("Массив") Тогда
|
||||||
|
МассивИД_ = Новый Массив;
|
||||||
|
МассивИД_.Добавить(МассивИД);
|
||||||
|
МассивИД = МассивИД_;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
МассивПользователей = Новый Массив;
|
||||||
|
|
||||||
|
Для Каждого Идентификатор Из МассивИД Цикл
|
||||||
|
|
||||||
|
СтруктураПользователя = Новый Структура;
|
||||||
|
СтруктураПользователя.Вставить("object", "user");
|
||||||
|
СтруктураПользователя.Вставить("id" , Идентификатор);
|
||||||
|
МассивПользователей.Добавить(СтруктураПользователя);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый Структура("people", МассивПользователей);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьФайлы(Знач СоответствиеФайлов)
|
||||||
|
|
||||||
|
МассивФайлов = Новый Массив;
|
||||||
|
|
||||||
|
Для Каждого Файл Из СоответствиеФайлов Цикл
|
||||||
|
|
||||||
|
СтруктураФайла = Новый Структура;
|
||||||
|
СтруктураФайла.Вставить("type", "external");
|
||||||
|
СтруктураФайла.Вставить("name", Файл.Ключ);
|
||||||
|
СтруктураФайла.Вставить("external", Новый Структура("url", Файл.Значение));
|
||||||
|
|
||||||
|
МассивФайлов.Добавить(СтруктураФайла);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Новый Структура("files", МассивФайлов);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьБулево(Знач Булево)
|
||||||
|
Возврат Новый Структура("checkbox", Булево);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьСсылку(Знач URL)
|
||||||
|
Возврат Новый Структура("url", URL);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьПочту(Знач Почта)
|
||||||
|
Возврат Новый Структура("email", Почта);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПреобразоватьТелефон(Знач Телефон)
|
||||||
|
Возврат Новый Структура("phone_number", Телефон);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
@@ -164,6 +164,58 @@
|
|||||||
// BSLLS:CognitiveComplexity-on
|
// BSLLS:CognitiveComplexity-on
|
||||||
|
|
||||||
Функция Post(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
|
Функция Post(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
|
||||||
|
Возврат ВыполнитьЗапросСТелом(URL, "POST", Параметры, ДопЗаголовки, JSON);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция Patch(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина) Экспорт
|
||||||
|
Возврат ВыполнитьЗапросСТелом(URL, "PATCH", Параметры, ДопЗаголовки, JSON);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт
|
||||||
|
|
||||||
|
СоответствиеВозврата = Новый Соответствие;
|
||||||
|
КоличествоЧастей = 2;
|
||||||
|
МассивПараметров = СтрРазделить(СтрокаПараметров, "&", Ложь);
|
||||||
|
|
||||||
|
Для Каждого Параметр Из МассивПараметров Цикл
|
||||||
|
|
||||||
|
МассивКлючЗначение = СтрРазделить(Параметр, "=");
|
||||||
|
|
||||||
|
Если МассивКлючЗначение.Количество() = КоличествоЧастей Тогда
|
||||||
|
СоответствиеВозврата.Вставить(МассивКлючЗначение[0], МассивКлючЗначение[1]);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат СоответствиеВозврата;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция UNIXTime(Знач Дата) Экспорт
|
||||||
|
Возврат Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ЗаменитьСпецСимволы(Текст) Экспорт
|
||||||
|
|
||||||
|
МассивСимволов = Новый Соответствие;
|
||||||
|
МассивСимволов.Вставить("<", "<");
|
||||||
|
МассивСимволов.Вставить(">", ">");
|
||||||
|
МассивСимволов.Вставить("&", "&");
|
||||||
|
МассивСимволов.Вставить("_", " ");
|
||||||
|
МассивСимволов.Вставить("[", "(");
|
||||||
|
МассивСимволов.Вставить("]", ")");
|
||||||
|
|
||||||
|
Для Каждого СимволМассива Из МассивСимволов Цикл
|
||||||
|
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область Служебные
|
||||||
|
|
||||||
|
Функция ВыполнитьЗапросСТелом(Знач URL, Знач Вид, Знач Параметры = "", Знач ДопЗаголовки = "", Знач JSON = Истина)
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Параметры) Тогда
|
Если Не ЗначениеЗаполнено(Параметры) Тогда
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
@@ -199,7 +251,7 @@
|
|||||||
|
|
||||||
НовыйЗапрос.УстановитьТелоИзСтроки(Данные);
|
НовыйЗапрос.УстановитьТелоИзСтроки(Данные);
|
||||||
|
|
||||||
Ответ = Соединение.ВызватьHTTPМетод("POST", НовыйЗапрос);
|
Ответ = Соединение.ВызватьHTTPМетод(Вид, НовыйЗапрос);
|
||||||
|
|
||||||
НужнаРаспаковка = Ответ.Заголовки.Получить("Content-Encoding") = GZip Или Ответ.Заголовки.Получить(
|
НужнаРаспаковка = Ответ.Заголовки.Получить("Content-Encoding") = GZip Или Ответ.Заголовки.Получить(
|
||||||
"content-encoding") = GZip;
|
"content-encoding") = GZip;
|
||||||
@@ -224,50 +276,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПараметрыЗапросаВСоответствие(Знач СтрокаПараметров) Экспорт
|
|
||||||
|
|
||||||
СоответствиеВозврата = Новый Соответствие;
|
|
||||||
КоличествоЧастей = 2;
|
|
||||||
МассивПараметров = СтрРазделить(СтрокаПараметров, "&", Ложь);
|
|
||||||
|
|
||||||
Для Каждого Параметр Из МассивПараметров Цикл
|
|
||||||
|
|
||||||
МассивКлючЗначение = СтрРазделить(Параметр, "=");
|
|
||||||
|
|
||||||
Если МассивКлючЗначение.Количество() = КоличествоЧастей Тогда
|
|
||||||
СоответствиеВозврата.Вставить(МассивКлючЗначение[0], МассивКлючЗначение[1]);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат СоответствиеВозврата;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Процедура ЗаменитьСпецСимволы(Текст) Экспорт
|
|
||||||
|
|
||||||
МассивСимволов = Новый Соответствие;
|
|
||||||
МассивСимволов.Вставить("<", "<");
|
|
||||||
МассивСимволов.Вставить(">", ">");
|
|
||||||
МассивСимволов.Вставить("&", "&");
|
|
||||||
МассивСимволов.Вставить("_", " ");
|
|
||||||
МассивСимволов.Вставить("[", "(");
|
|
||||||
МассивСимволов.Вставить("]", ")");
|
|
||||||
|
|
||||||
Для Каждого СимволМассива Из МассивСимволов Цикл
|
|
||||||
Текст = СтрЗаменить(Текст, СимволМассива.Ключ, СимволМассива.Значение);
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Функция UNIXTime(Знач Дата) Экспорт
|
|
||||||
Возврат Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
#Область Служебные
|
|
||||||
|
|
||||||
Функция ПараметрыЗапросаВСтроку(Знач Параметры) Экспорт
|
Функция ПараметрыЗапросаВСтроку(Знач Параметры) Экспорт
|
||||||
|
|
||||||
Если Параметры.Количество() = 0 Тогда
|
Если Параметры.Количество() = 0 Тогда
|
||||||
|
Reference in New Issue
Block a user