如何通过Google动作和对话框流访问Google Calendar API

时间:2018-12-21 20:39:08

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

引用此post ,我尝试为我的Google操作创建访问令牌。我启用了Google登录,并最终获得了一个用户ID。最上面的帖子说:“如果您需要访问Google的API,可以将其与基于Web或应用程序的Google登录相结合,以获取其访问OAuth范围的许可”,但老实说,我不知道该怎么做。我想做的就是从Google Actions / Dialog流程获取访问令牌,并将其发送到我的服务器端代码,以便向Google Calendar API发出成功的API POST请求。

1 个答案:

答案 0 :(得分:0)

您引用的帖子指向另一个讨论该方法的StackOverflow answer。它基本上说您需要结合两件事来完成您想要的事情:

  1. 您在网页上使用Google Sign In,以允许用户授权您代表他们访问日历。
    • 您可能应该使用hybrid flow,以便访问/刷新令牌只能在服务器端处理,而不能在Web客户端中处理。
    • 您的服务器将以某种方式存储访问/刷新令牌,以便您以后可以在操作中使用它们。
  2. 当用户通过“助理”进行连接时,您将使用Google登录助手进行身份验证,并确定他们是否已授权您访问其日历。如果有,您将可以从商店中获取其访问/刷新令牌并访问其日历。

您无法完全通过AoG / Dialogflow做到这一点,因为用户无法通过语音单独向您授予OAuth权限-这就是为什么您需要将用户定向到网页以让他们授予您权限有权访问他们的日历。