Всем привет, почему-то не работает отправка в календарь, ошибки нет но при этом событие не долетает (код можете копировать если кому надо)
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Курс") Тогда
Курс = ДанныеЗаполнения.Ссылка;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ВсеСобытияТекстом=ПолучитьВсеСобытия();
Если ВсеСобытияТекстом<>Неопределено Тогда
Сообщить("Событие успешно отправлено");
Иначе
Сообщить("Возникла ошибка при отправке. Попробуйте позднее");
КонецЕсли;
КонецПроцедуры
Функция ДатуВTimestamp(пДата = Неопределено)
Возврат Формат(Число(?(ТипЗнч(пДата) = Тип("Дата"), пДата, ТекущаяДата())-Дата("19700101")-60*60*3),"ЧН=0; ЧГ=0");
КонецФункции
Функция ПолучитьВсеСобытия() Экспорт
СтруктуруЗапроса = СформироватьСтруктуруЗапроса();
СтрокаДляТела = СериализоватьВJSON(СтруктуруЗапроса);
Результат = ОтправитьЗапросККалендарю(СтрокаДляТела);
Попытка
Возврат Результат.data.busy;
Исключение
Возврат Неопределено;
КонецПопытки;
КонецФункции
Функция ОтправитьЗапросККалендарю(СтрокаДляТела)
SSL = Новый ЗащищенноеСоединениеOpenSSL();
HTTP = Новый HTTPСоединение("",,,,,,SSL);
ЗаголовокЗапросаHTTP = Новый Соответствие();
Токен = "";
ЗаголовокЗапросаHTTP.Вставить("Authorization", "Bearer " + Токен);
ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json");
ЗапросHTTP = Новый HTTPЗапрос("v3/grants/", ЗаголовокЗапросаHTTP);
ЗапросHTTP.УстановитьТелоИзСтроки(СтрокаДляТела);
ОтветHTTP = HTTP.ОтправитьДляОбработки(ЗапросHTTP);
JSON = ОтветHTTP.ПолучитьТелоКакСтроку();
Результат = ДесериализоватьJSON(JSON);
Возврат Результат;
КонецФункции
Функция СформироватьСтруктуруЗапроса()
title = Тема;
status= "confirmed";
busy= Истина;
description= Описание;
when = Новый Структура();
ДатаСтрока = Формат(ДатаЗанятия, "ДФ=""ггггММдд""");
ВремяСтрока = Формат(ВремяЗанятия, "ДФ=""ЧЧммсс""");
when.Вставить("start_time",Число(ДатуВTimestamp(Дата(ДатаСтрока+ВремяСтрока))));
when.Вставить("end_time", Число(ДатуВTimestamp(Дата(ДатаСтрока+ВремяСтрока) + 60 * ВремяЗанятия)));
СтруктуруЗапроса = Новый Структура("title, status, busy, description, when", title, status, busy, description, when);
Возврат СтруктуруЗапроса;
КонецФункции
Функция СериализоватьВJSON(ДанныеОКлиенте) Экспорт
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ДанныеОКлиенте);
СтрокаДляТела = ЗаписьJSON.Закрыть();
Возврат СтрокаДляТела;
КонецФункции
Функция ДесериализоватьJSON(JSON, ЧитатьСоответствие = Ложь) Экспорт
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(JSON);
Результат = ПрочитатьJSON(ЧтениеJSON, ЧитатьСоответствие);
ЧтениеJSON.Закрыть();
Возврат Результат;
КонецФункции
Получение писем
&НаКлиенте
Процедура ПолучитьСобытияИзГугл(Команда)
ВсеСобытияТекстом=ПолучитьВсеСобытия();
Для каждого СтрокаМассива из ВсеСобытияТекстом Цикл
Попытка
Сообщить(СтрокаМассива.title+":"+TimestampВДату(СтрокаМассива.when.start_time));
Исключение
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Функция TimestampВДату(пДатаТС)
Попытка
Возврат Дата("19700101")+?(ТипЗнч(пДатаТС) = Тип("Строка"), Число(пДатаТС), пДатаТС)+3*60*60;
Исключение
Возврат Неопределено;
КонецПопытки;
КонецФункции
&НаКлиенте
Функция ПолучитьВсеСобытия() Экспорт
Результат = ОтправитьЗапросККалендарю();
Если Результат.data.Количество() > 0 Тогда
Возврат Результат.data;
КонецЕсли;
Возврат "";
КонецФункции
&НаКлиенте
Функция ОтправитьЗапросККалендарю()
SSL = Новый ЗащищенноеСоединениеOpenSSL();
HTTP = Новый HTTPСоединение("",,,,,,SSL);
ЗаголовокЗапросаHTTP = Новый Соответствие();
Токен = "";
ЗаголовокЗапросаHTTP.Вставить("Authorization", "Bearer " + Токен);
ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json");
ЗапросHTTP = Новый HTTPЗапрос("v3/grants/", ЗаголовокЗапросаHTTP);
ОтветHTTP = HTTP.Получить(ЗапросHTTP);
JSON = ОтветHTTP.ПолучитьТелоКакСтроку();
Результат = РаботаСHTTP.ДесериализоватьJSON(JSON);
Возврат Результат;
КонецФункции
Функция СериализоватьВJSON(ДанныеОКлиенте) Экспорт
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ДанныеОКлиенте);
СтрокаДляТела = ЗаписьJSON.Закрыть();
Возврат СтрокаДляТела;
КонецФункции
&НаКлиенте
Функция ДесериализоватьJSON(JSON, ЧитатьСоответствие = Ложь) Экспорт
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(JSON);
Результат = ПрочитатьJSON(ЧтениеJSON, ЧитатьСоответствие);
ЧтениеJSON.Закрыть();
Возврат Результат;
КонецФункции
ПоказатьПрикрепленные файлы:

По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот