如何在 G Suite 上通过同意屏幕请求全域委派

Gui*_*rme 6 google-api google-authentication google-oauth google-workspace

我需要从公司的G Suite帐户访问日历信息,以通过 API 与公司系统同步数据。

当我需要提供对我自己的数据的访问时,有一种相当简单的方法可以实现。使用 Oauth2,用户通过登录窗口允许 API 访问所请求的数据。

但在G Suite文档中,涉及管理员和公司数据时指示的路径涉及管理员访问admin.google.com,转到与安全相关的会话,并手动注册我的API,列出他想要授予的范围我访问。

与此类似,在Microsoft Graph中, 有一种方法可以请求域管理员的同意,其中使用 Oauth2 仅显示user consent/屏幕。admin consent

我想知道是否有一种方法可以在G Suite中获得这种类型的访问权限,而不需要最终用户采取如此复杂的步骤来使我的 API 正常工作。


更新: 这个问题最初于 2019 年发布,有谁知道此后是否发生了变化?

mar*_*ary 3

为此,您应该使用Marketplace SDK 。这样您就可以将应用程序发布到 Google Workspace Marketplace,公司管理员可以选择在其域中安装该应用程序

有几点需要记住:

  • 人们期望您的应用程序将具有某种面向用户的存在(例如附加组件、网络应用程序的链接等)。
  • Google 将在发布之前审核您的应用。由于您没有使用 Gmail 或云端硬盘范围(对于这些范围,Google 需要第三方安全审查),因此此过程应该不会太困难。但要计划好需要一些时间,并遵循最佳实践,以便第一次就完成正确的事情。

您还提到同步日历。如果这意味着主要是阅读,没问题,但如果您要写作(一次很多),请注意日历的使用限制。这些是针对每个用户以及该用户的所有活动(不仅仅是您的应用程序)。