连接Google日历api和api.ai

时间:2017-06-27 00:56:36

标签: node.js dialogflow google-calendar-api

所以这就是我想要做的: 我为我的业务建立了一个api.ai的机器人,它现在托管在我的网页和我的Facebook页面上。 Bot效果很好。

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

我一直在阅读this thread并附上了很好的答案,但我认为我的情况有点不同。 我想知道机器人是否总能有一个令牌,所以每个客人都不必通过Auth查询日历?

显然我是新手,我一直在阅读谷歌日历api和api.ai的指南,但我还没有真正看到如何做到这一点。我想有一种方法可以在某处存储令牌,然后只是用一些特定的意图触发查询但不确定如何。

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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

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

通常,您将使用共享密钥来创建和签署您发送给Google服务器的JSON Web令牌(JWT)。您将获得一个访问令牌,然后您将使用该令牌来调用Calendar API。访问令牌在大约一个小时后到期,此时您需要重复该过程。

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