gpt4 book ai didi

google-api - 如何在没有用户干预的情况下执行 G Suite 域范围的授权?

转载 作者:行者123 更新时间:2023-12-01 11:17:42 25 4
gpt4 key购买 nike

我们的应用要求访问与 Gsuite 帐户相关的所有 Gmail 邮箱。按照 https://developers.google.com/admin-sdk/reports/v1/guides/delegation 的说明,我可以做到这一点。 .即手动创建服务帐户 key ,在凭据上启用域范围的委派,并在 G Suite 管理区域中手动分配适当的权限。当为我们的每个客户手动设置时,这似乎可行,但是,该过程复杂且繁琐,并且是采用的障碍。

为了尝试实现一键式注册流程,根据 G Suite 市场的要求,我创建了一个 OAuth 客户端 ID(而不是服务帐户),并使用此凭据通过同意流程重定向用户,作为注册流程的一部分。此后,使用刷新/访问凭据访问 G Suite API。这非常有效,除了我只能访问登录用户的邮箱(而不是域中的任何其他人)。域范围的委派似乎不适用于客户端 ID 凭据。

我确实意识到服务帐户凭据具有客户端 ID,但它们不允许指定可接受的重定向 URI。因此,同意过程似乎无法使用服务帐户来实现。

我的应用已在 Chrome 商店注册。如何创建凭证、使用同意流程来接受权限,并且仍然享有全域委派的好处?

最佳答案

看来我需要两个凭据。

1) 谷歌用户身份验证 - 客户端 ID 凭据(使用 key )

2) Gmail API 的访问 - 启用委托(delegate)权限的服务帐户凭据(使用私钥)

1) 中的客户端 ID 凭证适用于代表用户进行身份验证或进行 API 调用(前提是同意)。但是,当访问多个邮箱时,凭据将不起作用。在这种情况下,需要服务帐户凭据(以上 2)。

使用服务帐户凭据时,仍然需要从用户那里获得访问特定 API 范围的权限。这些权限/OAuth 范围在 Google Marketplace SDK 配置中指定。

转到 Google Cloud Platform -> API 和服务仪表板 -> 点击启用 API 和服务 -> 在搜索框中输入 Google Marketplace SDK -> 选择 Google Marketplace SDK -> 点击管理。在配置选项卡中,添加所需的范围。

首次访问应用程序时,Google Marketplace 内会提示 G Suite 管理员允许范围权限。与 Office 365 不同,同意过程不通过同意重定向处理。最初必须从 Google Marketplace 中访问该应用程序,才能分配正确的委托(delegate)权限。

关于google-api - 如何在没有用户干预的情况下执行 G Suite 域范围的授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48505262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com