【问题标题】:Non-admin read-only access to Google Admin SDK对 Google Admin SDK 的非管理员只读访问权限
【发布时间】:2015-07-27 20:33:18
【问题描述】:

在 2014 年 9 月 23 日的 a post on the Google Developers blog 中,它说:

对所有域用户的读取权限

从历史上看,只有管理员能够访问 Admin SDK 中的数据。 从今天开始,任何用户(不仅仅是管理员)现在都可以调用 用于读取域上任何用户的个人资料的目录 API(当然,我们 将尊重 ACL 设置和配置文件共享设置)。

但是,尽管检查了我能找到的所有 Google Apps 管理员设置,但我对非管理员用户的 Directory API 调用调用失败。精简代码:

params = {
  client_id: XXXXXX, 
  scope: 'https://www.googleapis.com/auth/admin.directory.user.readonly', 
  response_type: 'token id_token', 
  immediate: true
};
gapi.auth.authorize(params, gHandleAuthResult);
var request = gapi.client.request({
  'path': '/admin/directory/v1/users',
  'params': {
     'customer': 'my_customer',
  }
});
request.then(function (response) {
  var users = response.result.users;
  if (!!users && users.length > 0) {
    users.forEach(function (user) {
      newMember.id = user.id || '';
    }
  }
}

这是使用适用于 JavaScript 的 Google API 客户端库。我已经在多个 Google Apps 帐户上尝试过此操作,它始终适用于管理员帐户,而不适用于非管理员,我得到响应“未授权访问此资源/api”。

previous post 询问此问题并收到回复说您必须使用服务帐户,但那是从 2014 年 6 月开始,在博文发布之前。我已经成功地使用服务帐户进行了调用,但我宁愿不必这样做,因为它需要服务器充当桥梁。

Google 开发者文档说“Google 工程师监控并回答标签 google-admin-sdk”,因此希望 Google 在这里得到答复。

【问题讨论】:

    标签: google-apps google-admin-sdk google-directory-api


    【解决方案1】:

    试试:

    var request = gapi.client.request({
      'path': '/admin/directory/v1/users',
      'viewType': 'domain_public'
      'params': {
      'customer': 'my_customer',
      }
    });
    

    viewType=domain_public 需要以非管理员身份以described in the reference documentation 执行目录操作。 the user accounts docs中也有更多解释。

    【讨论】:

    • 谢谢!在文档中错过了这一点。本着此功能的精神,由于用户可以查看组目录(尊重管理员设置Information->Directory->List this Group)以及成员(尊重Permissions->Access Permissions->View Members),因此域用户不能使用/admin/directory/v1/groups 和@987654327 太糟糕了@ 通过 API 访问相同的数据。除非我也错过了什么?
    • 目前非管理员只能调用users.list()和users.get()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2013-04-25
    • 2021-01-29
    • 2011-07-14
    相关资源
    最近更新 更多