【问题标题】:Google Calendar API and Google App Verification ProcessGoogle Calendar API 和 Google App 验证流程
【发布时间】:2019-10-26 08:23:05
【问题描述】:

我正在为使用 Google 日历 API 的客户端创建网站。本质上,客户需要能够输入他的日历 ID 并在网站上填充事件。这是通过对日历 API 执行请求的 firebase 函数来处理的。

我尝试的第一件事是遵循 Google 的日历 API 快速入门教程。这工作了一段时间,直到他们提供的临时访问令牌过期,我意识到访问令牌是临时的。

接下来,我生成了自己的 OAuth2 客户端 ID 并使用了它。在我开始收到来自 Google 的“匿名使用已过期”错误之前,这一直有效,一段时间后我意识到这是因为密钥没有启用只读日历范围。

在尝试启用范围时,我被告知我需要通过 Google 验证我的应用,这可能需要数周时间,并且需要我为我的应用编写服务条款和隐私政策。这似乎有点不必要,因为它只会从一个人的日历中读取事件,并且他已经授予我批准和访问权限。

我的下一个想法是公开日历并使用静态 API 密钥,但日历是从名为 Peak Pro 的预订服务同步的,该服务会在日历描述中填充参加活动的客户的姓名、电子邮件和电话号码事件。我不能公开这些。

接下来,我被 CalDAV API 所吸引,但在向 Google 验证 OAuth2 同意屏幕方面似乎有相同的要求。

我通常不会提出这样一个基本问题,但 3 周后我一直无法找到解决方案。 Google 是否在此处提供了我缺少的另一个选项?

【问题讨论】:

    标签: firebase google-api google-calendar-api google-oauth caldav


    【解决方案1】:

    很遗憾,简单的答案是不,Google 没有为此提供其他选择。

    在使用 G-Suite API 向您域外的用户提供服务时,出于安全原因,该过程需要 Google 验证应用程序。这纯粹是出于安全原因,因为应用程序可以读取和传递个人信息,如果没有此手动验证码,可能会超出应用程序开发人员声称的范围。

    不过,作为一种解决方法,您可以使用日历设置中提供的 iframe 嵌入,在将活动的活动详细信息设为私有后,将日历导入网页。您的客户可以通过完成以下步骤向您提供此链接:

    1. 转到calendar.google.com
    2. 在页面右上角,转到 ⚙ -> 设置
    3. 选择您希望在页面左侧面板上显示的日历。
    4. 在“访问权限”下,单击“公开可用”并更改下拉菜单以选择“仅查看空闲/忙碌(隐藏详细信息)”[1]。
    5. 在“集成日历”下,有指向日历公共 URL 的链接和 iframe 嵌入代码。

    选中“仅查看空闲/忙碌(隐藏详细信息)”后,匿名/公共用户可以查看的唯一信息是活动时间和日历所有者。除非查看页面的人被邀请参加活动并登录 [2],否则日历中活动的所有其他信息都将隐藏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多