Google 目录 API 个非管理员帐户
Google Directory API non-admin accounts
我有一个设置,其中用户通过 Google OAuth2.0 登录并从 Java Spring 访问 Google 目录 API,我在那里然后处理该用户的数据。它目前仅在我使用 Google 管理员帐户登录时才有效。我需要它适用于所有类型的帐户。这是我打的 URL:
https://www.googleapis.com/admin/directory/v1/users/{userKey}
既然管理员用户可以正常工作,有什么方法可以简单地更改此设置以也处理非管理员用户?我想知道这是否需要服务帐户之类的东西,但我认为给我的应用程序提供范围 https://www.googleapis.com/auth/admin.directory.user
就可以了。谢谢
Non-admins 无法访问此信息:
只有拥有 Users 权限的管理员(请参阅权限 here)才能执行读取用户属性等操作。 Non-admin 帐户将收到 403 错误消息,如下所示:
Not Authorized to access this resource/api
请注意,Directory API 是 Admin SDK 的一部分,其目的是管理域资源,并且只能由具有相应管理员权限的帐户使用。从这个意义上说,考虑到您可能正在发出 GET
请求(调用 Users: get)并使用 https://www.googleapis.com/auth/admin.directory.user.readonly
.
,添加额外的作用域不会改变任何东西
您当然可以使用已被授予 domain-wide authority 的服务帐户来模拟管理员帐户并完全摆脱登录步骤,但我不确定这是否是您想要做的。
参考:
我有一个设置,其中用户通过 Google OAuth2.0 登录并从 Java Spring 访问 Google 目录 API,我在那里然后处理该用户的数据。它目前仅在我使用 Google 管理员帐户登录时才有效。我需要它适用于所有类型的帐户。这是我打的 URL:
https://www.googleapis.com/admin/directory/v1/users/{userKey}
既然管理员用户可以正常工作,有什么方法可以简单地更改此设置以也处理非管理员用户?我想知道这是否需要服务帐户之类的东西,但我认为给我的应用程序提供范围 https://www.googleapis.com/auth/admin.directory.user
就可以了。谢谢
Non-admins 无法访问此信息:
只有拥有 Users 权限的管理员(请参阅权限 here)才能执行读取用户属性等操作。 Non-admin 帐户将收到 403 错误消息,如下所示:
Not Authorized to access this resource/api
请注意,Directory API 是 Admin SDK 的一部分,其目的是管理域资源,并且只能由具有相应管理员权限的帐户使用。从这个意义上说,考虑到您可能正在发出 GET
请求(调用 Users: get)并使用 https://www.googleapis.com/auth/admin.directory.user.readonly
.
您当然可以使用已被授予 domain-wide authority 的服务帐户来模拟管理员帐户并完全摆脱登录步骤,但我不确定这是否是您想要做的。