Google 服务帐户:委派全域授权以仅模拟一个用户
Google service account: Delegate Domain-Wide Delegation of Authority to impersonate only ONE user
我们需要使用服务器应用程序访问 Google 日历 API 以创建活动并邀请与会者。 Google 建议为应用程序使用服务帐户。
这里的主要问题是与会者邀请参加活动,因为如果没有全域授权,服务帐户就无法做到这一点(见图)。
组织不想授予服务帐户访问所有用户数据的权限。所以,我想知道我们能否将全域授权委托给域的一个用户? (限制访问权限以使用其他用户的数据)。
P.S。这只是关于 Google 日历 API.
实际上,使用服务帐户代表用户访问 Google 日历 API 的意思是,您可以使用单个服务帐户一次模拟不同的用户一个时间。因此,如果您只想模拟一个用户,那么应该没有任何问题。在进行授权 API 调用
之前,您只需指定要模拟的用户电子邮件地址
在您 delegate domain-wide authority to the service account, You need to preparation to make an authorized API call 之后您需要指定要模拟的用户。
例如,如果您将检查 Google APIs Client Library for Java - Impersonation, GoogleCredential.Builder.setServiceAccountUser(String)。此方法只接受要模拟的用户的单个电子邮件地址。
选项 1:(使用服务帐户)
如果您想在您的应用程序中使用只能模拟特定 user/users 的服务帐户,您可以在 Google Apps Marketplace. Then you can restrict the access of this app for specific user/users or even by organization using admin console. Turn on or off a Google Workspace Marketplace app for users
中发布一个应用程序
选项 2:(不使用服务帐户)
您可以通过特定用户而不是服务帐户访问 Google API。您只需要启用 API 并生成 API 键。请参阅 Calendar API Quickstarts 了解如何设置和使用 api。
我们需要使用服务器应用程序访问 Google 日历 API 以创建活动并邀请与会者。 Google 建议为应用程序使用服务帐户。
这里的主要问题是与会者邀请参加活动,因为如果没有全域授权,服务帐户就无法做到这一点(见图)。
组织不想授予服务帐户访问所有用户数据的权限。所以,我想知道我们能否将全域授权委托给域的一个用户? (限制访问权限以使用其他用户的数据)。
P.S。这只是关于 Google 日历 API.
实际上,使用服务帐户代表用户访问 Google 日历 API 的意思是,您可以使用单个服务帐户一次模拟不同的用户一个时间。因此,如果您只想模拟一个用户,那么应该没有任何问题。在进行授权 API 调用
之前,您只需指定要模拟的用户电子邮件地址在您 delegate domain-wide authority to the service account, You need to preparation to make an authorized API call 之后您需要指定要模拟的用户。
例如,如果您将检查 Google APIs Client Library for Java - Impersonation, GoogleCredential.Builder.setServiceAccountUser(String)。此方法只接受要模拟的用户的单个电子邮件地址。
选项 1:(使用服务帐户)
如果您想在您的应用程序中使用只能模拟特定 user/users 的服务帐户,您可以在 Google Apps Marketplace. Then you can restrict the access of this app for specific user/users or even by organization using admin console. Turn on or off a Google Workspace Marketplace app for users
中发布一个应用程序选项 2:(不使用服务帐户)
您可以通过特定用户而不是服务帐户访问 Google API。您只需要启用 API 并生成 API 键。请参阅 Calendar API Quickstarts 了解如何设置和使用 api。