我现在已经花了几个小时浏览文档+阅读其他SO帖子,但我仍然不清楚如何简单地请求Google Calendar API的域范围凭据(适用于其他域;不是我自己的 ).
我们当前的 Web 应用程序启动 OAuth 流程,为单个用户请求日历 API 凭据;但是,似乎没有像这样的简单方法来请求整个域的凭据。似乎获取域级访问权限需要管理员手动设置服务帐户,然后将该信息传递给(https://developers.google.com/admin-sdk/directory/v1/guides/delegation)非常麻烦。
使用 Microsoft 的日历 API,这是一个非常简单的过程,您只需指定“应用程序权限”,然后管理员必须完成 OAuth 流程以获得预期的访问和刷新令牌集。对于 GSuite,我找不到这样的等效项...
为了根据一些评论进行澄清,我试图弄清楚 GSuite 是否具有与 Microsoft Graph 提供的功能等效的功能,如下所述: https://learn.microsoft.com/en-us/graph/auth-v2-service
我见过的最接近的需要发布到 Google Apps Marketplace;然而,这里的文档似乎相当缺乏,并且不清楚如何处理像redirect_uri这样用于将凭据移交给后端服务器的事情。
如果我错过了任何文档,并且有人可以为我指出正确的方向,那么我将不胜感激。
有关如何设置服务帐号的全域委派的最佳文档是 -> 执行 Google Workspace 全域授权
请求 Google Calendar API 的域范围凭据(适用于其他域;不是我自己的域)。
你不能。谷歌工作区域的管理员为该域拥有的服务帐户设置域范围的委派。
似乎没有像这样的简单方法来请求整个域的凭据。
服务帐户授权与Oauth2授权有很大不同。 服务帐户授权适用于需要在无需请求用户许可的情况下访问数据的后端系统。
Oauth2 允许您为每个用户授予授权。 用户必须通过接受同意屏幕来授予应用程序访问其数据的权限。
没有 oauth2 流程可以将您的应用程序授予工作区域上的所有用户。 说实话,我认为这是一件好事。
client_credentials
类型。您仍然可以使用“管理员安装”权限在 Google Workspaces Marketplace 中创建应用。
当 GSuite 管理员安装此应用程序时,他们将看到
auth0