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

How to request Domain-wide Delegation through a consent screen, on G Suite

我需要从公司的 G Suite 帐户访问日历信息,以便通过 API.

与公司系统同步数据

当我需要提供对自己数据的访问权限时,simple way 可以做到这一点。使用 Oauth2,通过登录 window 用户允许 API 访问请求的数据。

但在G Suite文档中,path indicated涉及管理员和公司数据时,涉及管理员访问admin.google.com,去安全-相关会话,并手动注册我的 API,列出他想授予我访问权限的范围。

要并行,在 Microsoft Graph there is a way to request consent 中来自域管理员,其中仅显示 user consent / admin consent 屏幕使用 Oauth2.

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


更新: 这个问题最初是在 2019 年发布的,有人知道从那以后是否有什么变化吗?

你应该使用 Marketplace SDK for this. This allows you to publish an application to the Google Workspace Marketplace where company admins can choose to install it for their domain.

有几件事要记住:

  • 期望您的应用程序具有某种面向用户的存在(例如附加组件、link 网络应用程序等)。
  • Google 将在发布前审核您的应用。由于您没有使用 Gmail 或云端硬盘范围(对于这些,Google 需要第 3 方安全审查),此过程应该不会太困难。但计划它需要一些时间,并遵循 best practices 所以第一次就做对了。

您还提到了同步日历。如果这主要意味着阅读,没问题,但如果你正在写作(一次写很多),请注意 calendar use limits。这些是每个用户和该用户的所有 activity(不仅仅是您的应用)。