vamsi2710 Ответов: 0

Реализация Google calendar webhooks


Всем Привет,

Я очень новичок в Google API, и я пытаюсь реализовать Google calendar webhooks, где я пытаюсь получить уведомление, если есть какое-либо событие, добавленное в календарь....

Я также добавил свой домен в Search Console verified teh domain...

Я также добавил свой домен в раздел проверки домена..

Я использую эту ссылку ниже для тестирования :

https://developers.google.com/google-apps/calendar/v3/reference/events/watch

Теперь я пытаюсь проверить, то он бросает исключение как: несанкционированный канал обратного вызова WebHook: https://www.test.com/

Пожалуйста, дайте мне знать, что я упускаю

Было бы очень полезно, если бы вы могли предоставить мне какой-нибудь рабочий код...

Что я уже пробовал:

Я пробовал посылать как :

"адрес": "https://www.test.com/notification.aspx",
"id": "01234567-89ab-cdef-0123456789ab",
"тип": "web_hook"

Возвращение я получаю как :

{
"ошибка": {
"ошибки": [
{
"домен": "глобальный",
"причина": "толчок.webhookUrlUnauthorized",
"сообщение": "несанкционированный канал обратного вызова WebHook: https://www.test.com/notification.aspx"
}
],
"код": 401,
"сообщение": "несанкционированный канал обратного вызова WebHook: https://www.test.com/notification.aspx"
}
}



Я тоже пробовал :

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.googleapis.com/calendar/v3/calendars/xxx@gmail.com/events/watch");
          request.Method = "POST";


          request.ContentType = "application/json";
          string postData = "type=web_hook&id=01234567-89ab-cdef-0123456789ab&address=https://www.xxx.com/notification.aspx";
          byte[] bytes = Encoding.UTF8.GetBytes(postData);
          request.ContentLength = bytes.Length;

          Stream requestStream = request.GetRequestStream();
          requestStream.Write(bytes, 0, bytes.Length);

          WebResponse response = request.GetResponse();
          Stream stream = response.GetResponseStream();
          StreamReader reader = new StreamReader(stream);

          var result = reader.ReadToEnd();
          stream.Dispose();
          reader.Dispose();

F-ES Sitecore

Гугл

0 Ответов