DialogFlow:Google Actions(Oauth2)中的Google日历事件功能?

时间:2018-04-12 13:00:19

标签: actions-on-google dialogflow google-calendar-api google-assist-api

我在DialogFlow中创建了一个与用户交互的代理,使她能够检查后端数据库中的人口统计等详细信息。我已经使用Fulfillment / Webhook调用实现了这一点,并成功解析/返回了不同类型的响应给用户使用。我已经在Android设备和Google动作模拟器上对此进行了测试。

现在,我想要达到的目的是让用户能够设置提醒"通过我的应用程序在Google日历或类似平台上。默认情况下,Google智能助理只需将其告知"remind me...",Google就会在日历中创建提醒。但是一旦我调用我的应用程序,助理就超出了范围,所以使用"提醒我"命令不起作用。例如,我想使用Google日历通过我的代理创建提醒,以便在适当的时候通知用户。

据我所知,当用户在Google智能助理中调用某个应用时,她正在使用她的Google凭据,因此我想如果我想使用该应用创建提醒,我应该可以选择。我看过Calendar API,但我不确定是否应该这样做。有没有更好的方法来实现这一目标?

请注意,我想使用可供用户使用的提醒服务,而无需订阅第三方服务。

2 个答案:

答案 0 :(得分:1)

Calendar API是最佳选择。详情here

在这些文档中,您会看到对访问令牌的引用,您可以使用帮助程序意图 askForSignIn (使用here的示例)来获取Google的一个示例项目。)

希望这有帮助!

答案 1 :(得分:0)

因此,对于所有面临同样问题的人来说,这就是我所做的:

  1. 首先在https://auth0.com
  2. 上创建了一个帐户
  3. 按照此guide配置必要的设置以链接到Google智能助理(忽略了Jovo部分)
  4. 使用Auth0 guide配置并链接到我的Google项目凭据(忽略了Admins SDK服务部分)
  5. 现在,当我在设备上运行我的Google操作系统应用程序时,会出现一个“链接[应用程序名称]到谷歌”的按钮。点击“签下我”。
  6. 在我的webhook中解析回复以获取originalRequest.data.user.accessToken
  7. 这是@lukedavis回答中提到的令牌。下一步是使用令牌执行对Calendar API的调用。在尝试这个时,我正面临着一个不同的问题,我正试图找到解决方案。但是上面应该帮助那些希望获得accessToken的人。