繁体   English   中英

将用户导入 Google Suite 时忽略错误

[英]Ignore error when importing users to Google Suite

我正在使用 Google Apps 脚本将用户从 Google 工作表导入到 Google Suite。 我在 Google 管理控制台中制作了“自定义属性”,其中一些设置为键入 email。一切都很好,除非一个用户缺少那些 email 地址。

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

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

GoogleJsonResponseException:API 调用 directory.users.insert 失败,错误:无效输入: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); 

有时我所需要的只是稍微脱离代码......我突然意识到我可以在代码中更早地执行 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],

暂无
暂无

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

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