Синхронизация с календарем google

1. Anchoret 65 15.08.22 20:08 Сейчас в теме
Доброго времени суток.
Делаю синхронизацию с календарем гугл в конфигурации 1С: Деньги 8. Авторизовался в календаре, могу посмотреть события, могу удалять события, но не получается создать событие, постоянно выпадает ошибка: Код состояния 400 "Missing end time." Понимаю, что ругается на то, что не указано время окончания события, но время начала и окончания указывается.
Код формирования JSON
СтруктураСобытия = Новый Соответствие;
СтруктураСобытия.Вставить("end", ПреобразоватьДатуВФорматКалендаря(ВыборкаДетальныеЗаписи.ДатаОкончания));
СтруктураСобытия.Вставить("start", ПреобразоватьДатуВФорматКалендаря(ВыборкаДетальныеЗаписи.ДатаНачала));
СтруктураСобытия.Вставить("summary", "Заголовок события");
СтруктураСобытия.Вставить("description", "Учимся выгружать события в календарь");

ЗаписьJSON = Новый ЗаписьJSON();
ЗаписьJSON.УстановитьСтроку();
НастройкиСериализации = Новый НастройкиСериализацииJSON();
НастройкиСериализации.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.ЛокальнаяДатаСоСмещением;
ЗаписатьJSON(ЗаписьJSON, СтруктураСобытия, НастройкиСериализации);
СтрокаJSON = ЗаписьJSON.Закрыть();
Показать

Код преобразования даты
Функция ПреобразоватьДатуВФорматКалендаря(Дата)
	Соответствие = Новый Соответствие();
	Соответствие.Вставить("dateTime", Дата);
	Соответствие.Вставить("timeZone", "Europe/Moscow");
	Возврат Соответствие;
КонецФункции

Сформированная строка JSON
{
	"description": "Учимся выгружать события в календарь",
	"summary": "Заголовок события",
	"start": {
		"timeZone": "Europe/Moscow",
		"dateTime": "2022-09-01T19:00:00+03:00"
		},
	"end": {
		"timeZone": "Europe/Moscow",
		"dateTime": "2022-09-01T20:00:00+03:00"
		}
}
/CODE]
Ответ JSON
[1C-CODE]
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Missing end time."
   }
  ],
  "code": 400,
  "message": "Missing end time."
 }
}
Показать

Код отправки запроса
	АдресЗапроса = "https://www.googleapis.com/calendar/v3/calendars/{ИдКалендаря}/events";
	ИдКалендаря = Константы.ДБ_ИдентификаторКалендаря.Получить();
	АдресЗапроса = СтрЗаменить(АдресЗапроса, "{ИдКалендаря}", ИдКалендаря); 
	СтруктураURI = СтруктураURI(АдресЗапроса);
	HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, 443 , , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
	Headers = Новый Соответствие;
	Headers.Вставить("Host", СтруктураURI.Хост);
	Headers.Вставить("Content-Type", "application/json");
	Headers.Вставить("Authorization", "Bearer " + Token);
	Headers.Вставить("Content-length", "0");
	Headers.Вставить("Accept", "application/json");
	HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, headers);
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса, "UTF-8", ИспользованиеByteOrderMark.НеИспользовать);
	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
	
	Возврат HTTPОтвет;
Показать

При запуске из 1С только ошибка, но если подставить этот код в консоль проверки google, событие создается
В чем может быть проблема?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
6. spacecraft 16.08.22 17:39 Сейчас в теме
(1)
Headers.Вставить("Content-length", "0");

Это зачем? Принудительно указали, что в body ничего нет.
Vitaly1C8; Anchoret; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. spacecraft 16.08.22 17:39 Сейчас в теме
(1)
Headers.Вставить("Content-length", "0");

Это зачем? Принудительно указали, что в body ничего нет.
Vitaly1C8; Anchoret; +2 Ответить
10. Anchoret 65 17.08.22 21:42 Сейчас в теме
(6) Спасибо, жаль, что не сразу заметил сообщение, увидел сообщение уже после того как нашел проблему
Странно как-то сообщения на форуме располагаются, просмотраивал сообшение снизу, а твое в верху было
2. Vitaly1C8 16.08.22 00:13 Сейчас в теме
3. Anchoret 65 16.08.22 09:02 Сейчас в теме
(2) Не могли бы вы уточнить, что именно я там должен увидеть? Дата соответствует формату и проверку проходит, событие создается, если запустить в google консоле (на скриншоте видно)
5. Vitaly1C8 16.08.22 17:22 Сейчас в теме
(3)
Hi the problem may be on special characters in the variable, must try to encode UTF-8.

please try this

'summary' => utf8_encode($summary),
'description' => utf8_encode($descripcion),
'location' => utf8_encode($location),
7. Anchoret 65 17.08.22 20:40 Сейчас в теме
(5) Этот код разве не переводит все в UTF-8?
Прикрепленные файлы:
Vitaly1C8; +1 Ответить
4. Kolyasik 16.08.22 10:04 Сейчас в теме
в описании гугла указывается еще
{
'calendarId': 'primary',
'resource': event
}

Попробуй
8. Anchoret 65 17.08.22 20:42 Сейчас в теме
(4) Попробовал добавить в заголово и в тело запроса - ничего не изменилось
9. Anchoret 65 17.08.22 21:00 Сейчас в теме
Удалил из заголовка и все заработало
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот