如何从 AdminDirectory 获取用户的指定

How to get the Designation of the User from AdminDirectory

我能够从下面的代码中获取用户名,有没有办法获取用户的名称(或手机号码或工作地点?)

  function getUser() {
  var user = Session.getActiveUser().getEmail();
  var employee = AdminDirectory.Users.get(user).name.fullName;
  Logger.log('User data:\n%s', JSON.stringify(employee, null, 2));
  console.log(employee);
}

答案:

使用相同的 AdminDirectory.Users.get() 方法,您可以通过在 return. 上指定所需的字段来获取 phone 号码和工作地点

示例:

该方法有一个很大的响应主体,可以在 documentation 中看到。

您可以在该资源中看到您要查找的两条数据:

phones[]: list

A list of the user's phone numbers. The maximum allowed data size for this field is 1Kb.


locations[]: list

The user's locations. The maximum allowed data size for this field is 10Kb.

然后您可以使用子类别过滤出您想要的数据,例如 phones[].typelocations[].area

例如,为了检索 phone 个号码,您可以用相同的方式过滤请求:

var employee = AdminDirectory.Users.get(user);
var phones = employee.phones
var loc = employee.locations
Logger.log('User data:');
Logger.log(phones);
Logger.log(loc);

将生成具有以下格式的日志:

[20-11-02 12:12:28:243 CET] User data:
[20-11-02 12:12:28:247 CET] [{type=home, value=123456789}, {value=987654321, type=mobile}]
[20-11-02 12:12:28:250 CET] [{floorSection=Upper, floorName=Floor 12, type=desk, buildingId=5, area=cityView}]

参考文献: