注意更改日历,何时提出请求



在观察给定日历上的事件集合时,我需要多久发出手表请求?

我将代码在哪里提出手表请求?它只需要一次吗?

我下面的代码获取访问令牌,并发表帖子来创建手表频道,但是我不确定在哪里托管代码或我需要运行的频率:

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
    });

推送通知

Google日历API提供了推送通知,让您观看 用于更改资源。您可以使用此功能来改进 您的应用程序的性能。它使您可以消除额外的 网络和计算与投票资源有关的成本以确定 如果他们改变了。每当观看资源更改时,Google 日历API通知您的应用程序。

  • 注册接收URL的域。
  • 例如,如果您打算将https://example.com/notifications用作接收URL,则需要注册https://example.com。
  • 设置您的接收URL或" Webhook"回调接收器。
  • 这是一个HTTPS服务器,可处理资源更改时触发的API通知消息。
  • 为要观看的每个资源端点设置通知频道。
  • 一个频道指定通知消息的路由信息。作为频道设置的一部分,您可以确定要接收通知的特定URL。每当频道的资源更改时,Google日历API将通知消息作为发布请求发送到该URL。

您设置了手表后,Google会通知您,只要发生更改,您就不必再次称呼它。

相关内容

  • 没有找到相关文章

最新更新