Следите за изменениями в календаре, когда делать запрос - PullRequest
0 голосов
/ 07 марта 2019

При просмотре изменений в коллекции событий в заданном календаре, как часто мне нужно делать запрос на просмотр?

Где бы я разместил свой код, чтобы сделать запрос на просмотр?Это нужно сделать только один раз?

Мой код ниже получает токен доступа и создает сообщение для создания канала просмотра, однако я не уверен, где разместить код или как часто мне нужно запускатьэто:

let { google } = require("googleapis");
let functions = require("firebase-functions");
let privatekey = require("./config.json");
let axios = require("axios");

let jwt = new google.auth.JWT(
    privatekey.client_email,
    null,
    privatekey.private_key,
    ["https://www.googleapis.com/auth/calendar"]
);

const token = await jwt.authorize();

let headers = {
    "Access-Control-Allow-Origin": "*",
    "Content-Type": "application/json;charset=UTF-8",
    Authorization: token.token_type + " " + token.access_token
};
let data = {
    id: randomId,
    type: "web_hook",
    address: "https://rguc-calendars.firebaseapp.com/notifications",
    params: {
        ttl: 3600
    }
};

axios
    .post(
        "https://www.googleapis.com/calendar/v3/calendars/thirdyear@rguc.co.uk/events/watch",
        data,
        { headers }
    )
    .then(function(response) {
        // success
    })
    .catch(function(error) {
        // error
    });

1 Ответ

0 голосов
/ 07 марта 2019

push-уведомления

API Календаря Google предоставляет push-уведомления, которые позволяют отслеживать изменения в ресурсах.Вы можете использовать эту функцию для повышения производительности вашего приложения.Это позволяет устранить лишнюю сеть и вычислить затраты, связанные с ресурсами опроса, чтобы определить, изменились ли они.При изменении отслеживаемого ресурса API-интерфейс Календаря Google уведомляет ваше приложение.

  • Зарегистрируйте домен получающего URL-адреса.
  • Например, если вы планируете использовать https://example.com/notifications в качестве получающего URL-адреса вам необходимо зарегистрироваться https://example.com.
  • Настройте получающий URL-адрес или получателя обратного вызова «Webhook».
  • Это сервер HTTPS, который обрабатывает уведомления API, которыезапускаются при изменении ресурса.
  • Настройка канала уведомлений для каждой конечной точки ресурса, которую вы хотите просмотреть.
  • Канал определяет информацию о маршрутизации для уведомлений.В рамках настройки канала вы указываете конкретный URL-адрес, на который хотите получать уведомления.Всякий раз, когда ресурс канала изменяется, API Календаря Google отправляет уведомление в виде POST-запроса на этот URL.

После настройки часов Google уведомит вас о появлении сообщения.изменить вам не придется называть это снова.

...