You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python3调用Google Admin SDK添加G Suite用户遇400错误求助

解决Google Admin SDK添加用户时的Invalid Input: primary_user_email错误

嘿,我一眼就揪出问题所在了!你遇到的400错误根源是请求体格式不对——你把Python字典转成JSON字符串传给API,但Admin SDK的users().insert()方法需要的是原生Python字典,而非序列化后的JSON字符串。

问题核心

你代码里用了json.dumps()把用户信息转成了字符串:

userInfo = json.dumps({
    "name" : {
        "givenName": name,
        "familyName": familyName
    },
    "kind": "admin#directory#user",
    "primaryEmail": usermail,
    "password": "Welcome1234",
    "changePasswordAtNextLogin": True
})

当你把这个字符串传给insert(body=userInfo)时,API没法正确解析字段,自然就抛出了Invalid Input: primary_user_email错误。

修改后的代码

只需要去掉json.dumps(),直接传递Python字典就行:

def addUser(name,familyName,usermail):
    print('Adding user '+usermail+' to the G suite')
    # 直接使用Python字典,无需转成JSON字符串
    userInfo = {
        "name" : {
            "givenName": name,
            "familyName": familyName
        },
        "kind": "admin#directory#user",
        "primaryEmail": usermail,
        "password": "Welcome1234",
        "changePasswordAtNextLogin": True
    }
    createUserConnection.service.users().insert(body=userInfo).execute()

额外需要确认的点

除了格式问题,还有几个细节要检查:

  • 确保授权用的账号是G Suite超级管理员,或者拥有创建用户的专属管理员权限——普通账号没有调用Admin SDK创建用户的权限。
  • 确认usermail里的域名是你在G Suite控制台已验证过的域名(比如24i.com必须是你G Suite绑定的合法域名)。
  • 检查密码Welcome1234是否符合你的G Suite密码复杂度规则,不符合也可能触发错误。

改完之后,你的代码应该就能正常创建G Suite用户了!

内容的提问来源于stack exchange,提问作者Adrián Bárdossy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 12:57:42