【问题标题】:Google calendar api authentication in Google ActionsGoogle Actions 中的 Google 日历 API 身份验证
【发布时间】:2019-08-06 13:46:01
【问题描述】:

我希望能够在通过 Google 助理运行的操作中创建日历事件。

现在我可以修改此快速入门指南 (https://developers.google.com/calendar/quickstart/nodejs) 并将其用于我当前的 Dialogflow 实现。但是,让用户在允许 Google 日历访问后必须复制并粘贴身份验证代码有点繁琐。有没有更好的方法来做到这一点,不需要复制粘贴流程?提前致谢!

【问题讨论】:

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


    【解决方案1】:

    使用 Google 登录的帐户链接

    https://developers.google.com/actions/identity/google-sign-in

    然后向用户设备发送一张卡片,其中包含授权 Google 日历访问权限的链接。针对用户安全地存储验证码。使用验证码发出请求。

    【讨论】:

    • 我目前正在使用与 Google 登录相关的帐户,但这只能访问用户的姓名、电子邮件和个人资料图片。您能否详细说明发送卡和存储代码?谢谢!
    【解决方案2】:

    一般而言,您可以采用的方法是使用 Google 登录,如此 SO 答案中所述:Google Home Authorization Code and Authentication with Google Account

    使用此方案,您可以使用网站让用户授权您使用日历 API 范围,并针对他们的 UserID 存储身份验证令牌。然后,您通过 Google 助理使用 Google 登录来获取该 ID。如果他们先访问您的网页,这很有效,但如果他们先访问 Google 助理,则效果不佳。

    您还可以设置一个 OAuth 服务器,让用户在网页上使用 Google 登录(或使用类似 Auth0 的方式登录,并在登录过程中获得日历范围的授权。然后使用OAuth Account Linking in the Google Assistant 获取身份验证令牌,您可以使用它来获取用户的 ID。然后您可以使用此 ID 查找授权令牌。

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 1970-01-01
      • 2015-05-10
      • 2012-05-29
      • 2022-01-06
      • 1970-01-01
      • 2017-10-28
      • 2014-07-03
      • 2017-10-29
      相关资源
      最近更新 更多