从 Google API 脚本中的用户配置文件检索自定义属性 - Google 管理目录

mat*_*uty 2 google-apps-script google-workspace

这是关于 G Suite 用户的。以下内容使用 Google Admin SDK 在 Google Admin Directory 中工作。它检索用户的电子邮件地址和全名。

var myemail = Session.getActiveUser().getEmail();

  var mycontact = AdminDirectory.Users.get(myemail);
  var myname = mycontact.name.fullName;
Run Code Online (Sandbox Code Playgroud)

用户配置文件中有一个名为“部门”的自定义属性。以下内容不会检索任何内容。它抛出空

var mydept = mycontact.Department;
Run Code Online (Sandbox Code Playgroud)

如何从 G Suite 中的用户个人资料中检索自定义属性?

Chr*_*ris 6

根据Directory Api - Users: 获取您需要设置projection"custom"

投影- 要为此用户获取哪些字段子集。

可接受的值为:

“basic”:不包含用户的任何自定义字段。(默认)

“custom”:包括来自 customFieldMask 中请求的模式的自定义字段。

“full”:包括与该用户关联的所有字段。

然后您应该为自定义数据定义一个架构

customFieldMask(字符串)以逗号分隔的架构名称列表。获取这些模式中的所有字段。仅当投影=自定义时才应设置此值。

所以像这样:

var mycontact = AdminDirectory.Users.get({
  "userKey": myemail,
  "projection": "full",
  "customFieldMask": "Define Schema Here"
});
Run Code Online (Sandbox Code Playgroud)

然后您可以Logger.log(mycontact);查看如何访问返回的自定义字段