来自应用的Google Directory用户列表

Exp*_*lls 5 oauth google-api ios service-accounts google-admin-sdk

我正在创建一个供内部使用的iOS应用程序.我们有一个Google域名.作为应用程序功能的一部分,我希望能够搜索该域中的所有用户.这已经可以在Gmail,Apple Mail应用程序和其他应用程序中完成.

我发现您可以使用Admin SDK for users.list来完成我想要做的事情.我为iOS应用程序创建了一个客户端ID,并授权我的应用程序执行users.list.

开发者控制台中的权限

但是,现在我为使用OAuth2登录的用户收到权限错误:

OAuth授权用户未被授权列出用户

我发现如果您委托具有权限,则可以创建一个服务帐户来代表您发出API请求.我不确定这是否是我想要做的事情,因为这似乎更像是安全服务器而不是应用程序.我也不确定这是如何与用户(来自我们的域)进行集成的,用户可以列出我们的用户.

是否可以纯粹通过OAuth /前端应用列出/搜索Google域中的用户?

Pet*_*ann 1

除了缓存您自己的列表之外,我认为还有两种方法可以让用户能够列出所有用户:

A. 对此 GAL API 的无证调用:( https://www.google.com/m8/feeds/gal/your-domain-goes-here/full?alt=json来源)。您可以通过选择 Contacts V3 API 的范围或使用字符串在Google OAuth Playgroundhttps://www.google.com/m8/feeds/中对此进行测试。

B. 在管理控制台中,创建一个“所有用户”组。分配给新创建的管理员角色。在权限 > 管理 API 权限 > 用户 > 读取(选中)中授予管理员角色“读取”。