连接 Google 日历 api 和 api.ai

Connect Google calendar api and api.ai

所以这就是我正在尝试做的事情: 我用 api.ai 为我的业务构建了一个机器人,现在托管在我的网页和 Facebook 页面上。机器人运行良好。

我想通过允许我的客户在我的日历上进行查询,要求预订特定时间,查看是否可用,如果没有提供其他类似时间,然后进行预订,从而将其推进到下一步。

我一直在阅读 并附有很好的答案,但我认为我的情况有点不同。 我想知道该机器人是否可以始终拥有一个令牌,这样每位客人都不必通过身份验证来查询日历?

显然我是新手,我一直在阅读 google 日历 api 和 api.ai 的指南,但我还不知道如何去做。我想有一种方法可以在某处存储一个令牌,然后只用一些特定的意图触发查询,但不确定如何。

我还完成了 G-calendar node.js 快速入门指南 api,如果有帮助,它工作正常。

感谢您的帮助!

您可能希望使用相关日历允许的服务帐户。服务帐户类似于常规帐户,但它们只能进行服务器到服务器的通信,因此创建身份验证令牌的方法略有不同以确保其安全。

有关使用服务帐户的详细信息,请参阅 https://developers.google.com/identity/protocols/OAuth2ServiceAccount

一般来说,您将使用共享密钥创建并签署一个 JSON Web 令牌 (JWT),然后发送到 Google 的服务器。您将取回一个访问令牌,然后您将使用它来调用日历 API。访问令牌将在大约一个小时后过期,届时您需要重复该过程。

有一些库可以为您做很多这样的事情。例如,如果您正在使用 node.js 库 https://github.com/google/google-api-nodejs-client,那么它会为您解决这个问题(尽管您需要修改密钥文件 - 请参阅文档了解详细信息)。