繁体   English   中英

使用 App Script 和 Admin SDK 设置 G Suite 用户属性

[英]Setting G Suite user properties with App Script and the Admin SDK

我正在尝试从 App Maker 中的 App Script 设置用户的 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

我在这里做错了什么? 查看docs ,您只需要提供您正在更改的属性。

Apps 脚本文档说明如下:

有关此服务的详细信息,请参阅 Admin SDK Directory API 的参考文档。 与 Apps Script 中的所有高级服务一样,Admin SDK Directory 服务使用与公共 API 相同的对象、方法和参数。

因此,我们需要查阅文档以了解如何实现这一点。

该方法至少需要两个参数:这意味着第一个参数是用户对象资源,第二个参数是用户的电子邮件地址: AdminDirectory.Users.update(resource, userKey) 所以你需要这样做:

function getUser(user) {
    var userResource = {
        orgUnitPath: "/"
    };
    var updated = AdminDirectory.Users.update(userResource, user);
    console.log(updated.primaryEmail);
}

那么,既然已经在userResource对象中指定了用户电子邮件,为什么还需要在方法中指定它呢? 好吧,如果您想更改电子邮件地址,则userResource对象中的电子邮件地址将是新值。

PS 也许您可能想将函数的名称更改为更匹配的名称; updateUser()也许? 我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM