我正在尝试通过App Maker内的App脚本设置用户的OU。
(user
是带有电子邮件地址的变量)
function getUser(user) {
var x = AdminDirectory.Users.update(
{
orgUnitPath: "/",
userKey: user,
});
console.log("function ran");
}
此代码错误:
Exception: Invalid number of arguments provided. Expected 2-3 only at getUser (ServerScripts:107)
Invalid number of arguments provided. Expected 2-3 only
at getUser (ServerScripts:107)
at getUser (ClientHandoff:21:21)
at TestMoveOU.Panel1.Button1.onClick:1:1
我在这里做错了什么?查看the docs,您只需要提供要更改的属性即可。
答案 0 :(得分:1)
有关此服务的详细信息,请参阅Admin SDK Directory API的参考文档。与Apps脚本中的所有高级服务一样,Admin SDK Directory服务使用与公共API相同的对象,方法和参数。
因此,我们需要咨询 documentation 以获得如何实现此目的的说明。
该方法至少需要两个参数:这意味着第一个参数是用户对象资源,第二个参数是用户的电子邮件地址:AdminDirectory.Users.update(resource, userKey)
。因此,您需要这样做:
function getUser(user) {
var userResource = {
orgUnitPath: "/"
};
var updated = AdminDirectory.Users.update(userResource, user);
console.log(updated.primaryEmail);
}
那么,在userResource
对象中已经指定了用户电子邮件的情况下,为什么还要在该方法中指定用户电子邮件呢?好吧,userResource
对象中的电子邮件地址将是新值,以防您要更改电子邮件地址。
P.S。也许您可能想将函数的名称更改为更匹配的名称。 updateUser()
也许?我希望这会有所帮助!