mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-25 02:42:28 +02:00
Google Calendar: правка по часовым поясам
This commit is contained in:
parent
c7d783f64f
commit
9e222b7783
@ -31,6 +31,7 @@
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен
|
||||
// Наименование - Строка - Наименование создаваемого календаря
|
||||
// ЧасовойПояс - Строка - Часовой пояс в формате IANA
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
||||
@ -40,7 +41,8 @@
|
||||
URL = "https://www.googleapis.com/calendar/v3/calendars";
|
||||
|
||||
Параметры = Новый Структура;
|
||||
Параметры.Вставить("summary", Наименование);
|
||||
Параметры.Вставить("summary" , Наименование);
|
||||
Параметры.Вставить("timeZone", ЧасовойПояс());
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
@ -73,10 +75,14 @@
|
||||
// Календарь - Строка - ID календаря
|
||||
// Наименование - Строка - Новое наименование
|
||||
// Описание - Строка - Новое описание календаря
|
||||
// ЧасовойПояс - Строка - Часовой пояс в формате IANA
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
||||
Функция ИзменитьМетаданныеКалендаря(Знач Токен, Знач Календарь, Знач Наименование = "", Знач Описание = "") Экспорт
|
||||
Функция ИзменитьМетаданныеКалендаря(Знач Токен
|
||||
, Знач Календарь
|
||||
, Знач Наименование = ""
|
||||
, Знач Описание = "") Экспорт
|
||||
|
||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
||||
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
||||
@ -90,8 +96,8 @@
|
||||
Если ЗначениеЗаполнено(Описание) Тогда
|
||||
Параметры.Вставить("description", Описание);
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = OPI_Инструменты.Put(URL, Параметры, Заголовки);
|
||||
|
||||
Ответ = OPI_Инструменты.Patch(URL, Параметры, Заголовки, Истина);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
@ -405,6 +411,10 @@
|
||||
|
||||
СтруктураДаты = Новый Структура;
|
||||
|
||||
Если Не ТипЗнч(Дата) = Тип("Дата") Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если Дата = НачалоДня(Дата) Тогда
|
||||
ФорматДаты = "ДФ=yyyy-MM-dd";
|
||||
Поле = "date";
|
||||
@ -414,7 +424,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
Дата = Формат(Дата, ФорматДаты);
|
||||
СтруктураДаты.Вставить(Поле, Дата);
|
||||
СтруктураДаты.Вставить(Поле , Дата);
|
||||
СтруктураДаты.Вставить("timeZone", ЧасовойПояс());
|
||||
|
||||
Возврат СтруктураДаты;
|
||||
|
||||
@ -438,7 +449,11 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат МассивВложений;
|
||||
Если МассивВложений.Количество() > 0 Тогда
|
||||
Возврат МассивВложений;
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -455,7 +470,7 @@
|
||||
Дата1 = ОписаниеСобытия["ДатаОкончания"];
|
||||
Вложения = ОписаниеСобытия["МассивURLФайловВложений"];
|
||||
Вложения = ПреобразоватьВложения(Вложения);
|
||||
Уведомления = ОписаниеСобытия["ОтправлятьУведомления"];
|
||||
Уведомления = ?(ОписаниеСобытия["ОтправлятьУведомления"] = Неопределено, Ложь, ОписаниеСобытия["ОтправлятьУведомления"]);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
Параметры.Вставить("summary" , ОписаниеСобытия["Заголовок"]);
|
||||
@ -467,10 +482,12 @@
|
||||
|
||||
ПараметрыURL = Новый Структура;
|
||||
ПараметрыURL.Вставить("sendUpdates" , ?(Уведомления, "all", "none"));
|
||||
ПараметрыURL.Вставить("supportsAttachments" , ?(Вложения.Количество() > 0, "true", "false"));
|
||||
ПараметрыURL.Вставить("supportsAttachments" , ?(ЗначениеЗаполнено(Вложения), "true", "false"));
|
||||
|
||||
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(ПараметрыURL);
|
||||
|
||||
OPI_Инструменты.УдалитьПустыеПоляКоллекции(Параметры);
|
||||
|
||||
Если Существующее Тогда
|
||||
Ответ = OPI_Инструменты.Patch(URL, Параметры, Заголовки, Истина);
|
||||
Иначе
|
||||
|
@ -119,6 +119,41 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УдалитьПустыеПоляКоллекции(Коллекция) Экспорт
|
||||
|
||||
ТипКоллекции = ТипЗнч(Коллекция);
|
||||
ВыходнаяКоллекция = Новый(ТипКоллекции);
|
||||
|
||||
Если ТипКоллекции = Тип("Соответствие") Или ТипКоллекции = Тип("Структура") Тогда
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
Если Не ЭлементКоллекции.Значение = Неопределено И Не ЭлементКоллекции.Значение = NULL Тогда
|
||||
ВыходнаяКоллекция.Вставить(ЭлементКоллекции.Ключ, ЭлементКоллекции.Значение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ТипКоллекции = Тип("Массив") Тогда
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
Если Не ЭлементКоллекции = Неопределено И Не ЭлементКоллекции = NULL Тогда
|
||||
ВыходнаяКоллекция.Добавить(ЭлементКоллекции);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
|
||||
ВыходнаяКоллекция = Коллекция;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Коллекция = ВыходнаяКоллекция;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Служебные
|
||||
|
Loading…
Reference in New Issue
Block a user