这是关于G套件用户。以下使用Google Admin SDK在Google管理员目录中使用。它检索电子邮件地址和用户的全名。
var myemail = Session.getActiveUser().getEmail();
var mycontact = AdminDirectory.Users.get(myemail);
var myname = mycontact.name.fullName;
用户个人资料中有一个名为“部门”的自定义属性。以下内容不会检索任何内容。它抛出null
var mydept = mycontact.Department;
如何从G套件中的用户个人资料中检索自定义属性?
答案 0 :(得分:3)
根据Directory Api - Users: get,您需要将projection
设置为"custom"
。
投影 - 要为此用户提取的字段子集。
可接受的值是:
"基本":不要为用户包含任何自定义字段。 (默认)
" custom":包含customFieldMask中请求的模式中的自定义字段。
" full":包含与此用户关联的所有字段。
然后,您应为自定义数据定义Schema
customFieldMask (字符串)以逗号分隔的架构名称列表。获取这些模式的所有字段。这只应在projection = custom。
时设置
类似于:
var mycontact = AdminDirectory.Users.get({
"userKey": myemail,
"projection": "custom",
"customFieldMask": "Define Schema Here"
});
然后,您可以Logger.log(mycontact);
查看如何访问返回的自定义字段
答案 1 :(得分:0)
对于自定义架构,您只需使用full
投影即可获取所有自定义架构字段。
有关标准部门字段,请参阅user.organizations[0].department
https://developers.google.com/admin-sdk/directory/v1/reference/users
答案 2 :(得分:-1)
如果遇到错误:
找不到资源:userKey
尝试一下:
mycontact = AdminDirectory.Users.get(
myemail,{
projection: 'full'
});