Gmail API 无需全域委派即可访问单个用户
Gmail API Access Single User Without Domain Wide Delegation
我们有一些进退两难的问题,我们 运行 正在处理几个应用程序,这些应用程序试图在没有用户交互授权的情况下阅读给定的用户电子邮件。这种方法的关键是我们不需要用户交互,并且希望使用从 Google 开发人员控制台下载的正确 JSON 凭据加载客户端服务器应用程序。
我有这种方法适用于我们在开发人员控制台中创建服务帐户的程序,然后将域范围的权限委托给具有适当范围访问权限的该帐户。然而,我们希望的是我们不必委托域范围的权限,只需阅读创建此开发人员控制台项目的用户电子邮件即可。为此,我尝试了许多不同类型的解决方案,但总是 运行 遇到相同的限制,我必须授予域范围的访问权限。
我想知道是否有任何方法可以使用服务器到服务器类型的方法获得对单个用户邮箱的访问权限,而不必授予域范围的访问权限?
感谢您对这个问题的帮助!
您似乎在寻找 OAuth for Server to Server Application。您还将使用服务帐户。但是,为服务帐户授予域范围的权限是可选的。如果您不想启用它,则不必启用它。
To support server-to-server interactions, first create a service
account for your project in the Developers Console. If you want to
access user data for users in your Google Apps domain, then delegate
domain-wide access to the service account.
Then, your application prepares to make authorized API calls by using
the service account's credentials to request an access token from the
OAuth 2.0 auth server.
Finally, your application can use the access token to call Google
APIs.
您想要执行的操作没有受支持的授权流程。您必须使用已被授予全域权限的服务帐户,或者您必须使用涉及用户同意的 3LO 流程。
我们有一些进退两难的问题,我们 运行 正在处理几个应用程序,这些应用程序试图在没有用户交互授权的情况下阅读给定的用户电子邮件。这种方法的关键是我们不需要用户交互,并且希望使用从 Google 开发人员控制台下载的正确 JSON 凭据加载客户端服务器应用程序。
我有这种方法适用于我们在开发人员控制台中创建服务帐户的程序,然后将域范围的权限委托给具有适当范围访问权限的该帐户。然而,我们希望的是我们不必委托域范围的权限,只需阅读创建此开发人员控制台项目的用户电子邮件即可。为此,我尝试了许多不同类型的解决方案,但总是 运行 遇到相同的限制,我必须授予域范围的访问权限。
我想知道是否有任何方法可以使用服务器到服务器类型的方法获得对单个用户邮箱的访问权限,而不必授予域范围的访问权限?
感谢您对这个问题的帮助!
您似乎在寻找 OAuth for Server to Server Application。您还将使用服务帐户。但是,为服务帐户授予域范围的权限是可选的。如果您不想启用它,则不必启用它。
To support server-to-server interactions, first create a service account for your project in the Developers Console. If you want to access user data for users in your Google Apps domain, then delegate domain-wide access to the service account.
Then, your application prepares to make authorized API calls by using the service account's credentials to request an access token from the OAuth 2.0 auth server.
Finally, your application can use the access token to call Google APIs.
您想要执行的操作没有受支持的授权流程。您必须使用已被授予全域权限的服务帐户,或者您必须使用涉及用户同意的 3LO 流程。