【问题标题】:Ignore error when importing users to Google Suite将用户导入 Google 套件时忽略错误
【发布时间】:2020-12-10 21:22:50
【问题描述】:

我正在使用 Google Apps 脚本将用户从 Google 表格导入 Google 套件。我在 Google 管理控制台中创建了“自定义属性”,其中一些设置为键入电子邮件。一切都很好,除非一个用户缺少这些电子邮件地址。

我的用户是孩子,电子邮件地址是孩子的父母。一个孩子可能有 1 位家长和 1 封电子邮件。其他孩子有 4 位父母和 4 封电子邮件。

如果所有变量(epost1、epost2、epost3 和 epost4)都填充了电子邮件地址,则添加用户。如果其中一个变量为空,则脚本将停止并显示以下消息:

GoogleJsonResponseException:对 directory.users.insert 的 API 调用失败 错误:无效输入:custom_schema(第 272 行,文件 "nyeMedlemmer")

我试图在代码中添加一个 if 语句,但那是不可能的。有没有办法让脚本忽略这些错误?

我的代码(设置变量后):

var user = {
  primaryEmail: epost,
  name: {
    givenName: fmnavn,
    familyName: etternavn
  },
 
  addresses: [
    {
    type: "home",
    formatted: adr
    },
    {
    type: "other",
    formatted: adr2
    },
    {
    type: "home",
    postalCode: postnr
    }   
  ],
  phones: [
    {
      value: mobil,
      type: "home"
    }
  ],
  emails: [
    {
      address: epostPriv,
      type: "home"
    }
  ],
  recoveryEmail: epost1,
  locations: [
    {
      floorName: grad,
      type: "desk",
      area: "desk"
    }
  ], 
  gender: {
    type: kjonn
  },
  
 orgUnitPath: "/Speidere/Stifinnere/"+tropp,

 customSchemas: {
    Personlig_informasjon: {
      skole: skolen,
      hensyn: hensynet,
     bursdag: dato
    },
    Innmeldingssvar: {
      hjelpe_til: hjelpen,
      teste: testen,
      merknad: merknaden,
      bilde: bildet,
      samtykke: samtykket,
      innmeldingsdato: innmeldingsdatoen
    },  
    Foresatt: {
      foresatt_navn: [
        {
          value: navn1
        },
        {
          value: navn2,
        },
        {
          value: navn3
        },
        {
          value: navn4
        }
       
      ],
      foresatt_epost: [
        {
          value: epost1
        },
        {
          value: epost2
        },
        {
          value: epost3
        },
        {
          value: epost4
        }
      ],
      foresatt_mob: [
        {
          value: mobil1
        },
        {
          value: mobil2
        },
        {
          value: mobil3
        },
        {
          value: mobil4
        }
      ]
    },//foresatt
  },//CustomSchemas
 password: passord
}; //var user
user = AdminDirectory.Users.insert(user); 

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-workspace


    【解决方案1】:

    有时我需要的只是从代码中脱离出来......我突然意识到我可以在代码中更早地执行 if:

    var epostForesatt = "{value:"+ epost1+"}"; 
    if (epost2 != '') {
      var epostForesatt = epostForesatt + ",{value:"+ epost2+"}"; 
    }
    if (epost3 != '') {
      var epostForesatt = epostForesatt + ",{value:"+ epost3+"}"; 
    }
    if (epost4 != '') {
      var epostForesatt = epostForesatt + ",{value:"+ epost4+"}"; 
    }
    

    然后,在“var user customSchemas”中,我编辑代码以使用此变量。

    Foresatt: {
          foresatt_navn: [
            {
              value: navn1
            },
            {
              value: navn2,
            },
            {
              value: navn3
            },
            {
              value: navn4
            }
           
          ],
          foresatt_epost: [epostForesatt],
    

    【讨论】:

      猜你喜欢
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 2023-01-22
      • 2022-08-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      相关资源
      最近更新 更多