Firebase 谷歌日历API和谷歌应用程序验证过程

Firebase 谷歌日历API和谷歌应用程序验证过程,firebase,google-api,google-calendar-api,google-oauth,caldav,Firebase,Google Api,Google Calendar Api,Google Oauth,Caldav,我正在为一个使用谷歌日历API的客户端创建一个网站。基本上,客户机需要能够输入其日历ID,并在网站上填充事件。这是通过执行对日历API的请求的firebase函数来处理的 我尝试的第一件事是遵循Google的日历API快速入门教程。这项工作持续了一段时间,直到他们提供的临时访问令牌过期,我意识到访问令牌是临时的 接下来,我生成了自己的OAuth2客户机ID并使用它。在我开始收到来自Google的“匿名使用过期”错误之前,这种方法一直很有效。过了一段时间,我意识到这是因为该键没有启用只读日历范围

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

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

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

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

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

接下来,我被CalDAV API吸引,但它似乎对使用Google验证OAuth2同意屏幕有相同的要求


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

不幸的是,简单的答案是,不,谷歌没有提供另一个选项

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

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

  • 转到
    calendar.google.com
  • 在页面右上角,转到⚙ -> 背景
  • 选择要显示在页面左侧面板上的日历
  • 在“访问权限”下,单击“公开”,并将下拉菜单更改为选中“仅查看忙/闲(隐藏详细信息)”[1]
  • 在“集成日历”下,有指向日历的公共URL的链接和iframe嵌入代码

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