【问题标题】:How to specify discovery docs without triggering consent screen in google calendar?如何在不触发谷歌日历中的同意屏幕的情况下指定发现文档?
【发布时间】:2021-08-28 01:27:59
【问题描述】:

我正在尝试将谷歌日历 API 与范围一起使用:

  • .../auth/calendar.app.created创建辅助日历并管理它
  • .../auth/calendar.calendarlist.readonly查看日历

指定here google 只需要验证:

  • 应用使用任何敏感或受限范围来请求 Google 用户数据
  • 您的应用程序需要在 OAuth 同意屏幕上显示一个图标或显示名称,而不是重定向 URL 域
  • 您应用的授权域数超过了项目的域数限制

两者都是非敏感范围(如上图所示),并且我没有使用品牌图标,因此不应显示同意屏幕应用验证。此外,我的 OAuth 同意屏幕验证状态也不是必需的,如下所示:

这是我的应用程序配置

...

gapi.load('client:auth2');

gapi.client.init({
    clientId: GC_CLIENT_ID,
    apiKey: GC_API_KEY,
    discoveryDocs: [
        'https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest'
    ],
    scope:
        'https://www.googleapis.com/auth/calendar.app.created https://www.googleapis.com/auth/calendar.calendarlist.readonly'
});

gapi.client.load('calendar', 'v3');

...

但由于某种原因,当我尝试使用我的应用向 google 进行身份验证时,同意屏幕仍需要验证:

这是服务器对身份验证请求的响应:

我正在思考的发现文档有问题吗?如果没有,即使我没有请求敏感信息,我如何使用谷歌日历而不需要谷歌应用验证。

【问题讨论】:

  • 我无法重现此内容。如果我尝试使用这些范围(或任何非敏感范围,就此而言)进行身份验证,我看不到 unverified app 屏幕。您能否为此提供一组复制步骤?

标签: google-cloud-platform google-api google-calendar-api


【解决方案1】:

点击高级按钮,您将被允许继续并授权您的应用程序。

应用程序将继续显示此消息,直到它得到验证。仅仅因为您使用的是非敏感范围并不意味着您不会看到未验证的应用程序屏幕。这只是意味着,当您进行验证时,它可能会更快一些,因为您没有使用任何声明为受限或敏感的东西。

在您完成验证过程之前,您可能会发现此视频很有帮助What you need to know about Google verification in 2021.

【讨论】:

  • 但为什么会写成this app is requesting sensitive information in your google account?这是否意味着我仍然需要通过 Google 验证我的应用?
  • 如果您的应用程序有同意屏幕,那么您将始终需要通过谷歌验证您的应用程序,这是无法解决的。为什么它显示它的敏感可能是他们改变了一些东西并且没有更新消息。当你完成这个过程时,我会问他们。
猜你喜欢
  • 2020-08-22
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 2016-07-10
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多