创建新的用户Google管理员SDK python

我收到一个错误消息,表明Google无法识别json中的用户名。我找不到找到包含HTTP标头application / json的方法。返回URL给了我另一个错误代码,但我通过了登录身份验证。


我的代码:


from __future__ import print_function

from apiclient.discovery import build

from httplib2 import Http

from oauth2client import file, client, tools

import requests

import json

import pprint


# Setup the Admin SDK Directory API

SCOPES = 'https://www.googleapis.com/auth/admin.directory.user'

#Global scope for access to all user and user alias operations.

store = file.Storage('credentials.json')

creds = store.get()

if not creds or creds.invalid:

    flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)

    creds = tools.run_flow(flow, store)

service = build('admin', 'directory_v1', http=creds.authorize(Http()))

# Call the Admin SDK Directory API

userInfo = {

    "name" : {

        "givenName" : "Donald",

        "familyName" : "Dump",

    },

    "kind" : "user",

    "primaryEmail" : "testUser@test.com",

    "isAdmin": False,

    "isDelegatedAdmin": False,

    "agreedToTerms": True,

    "password": "testpass1234",

    "changePasswordAtNextLogin": True  

}

response = service.users().insert(body=json.dumps(userInfo)).execute()

http://img.mukewang.com/607006ce00014c7112330139.jpg

http://img.mukewang.com/607006d90001e86f06230377.jpg

http://img4.mukewang.com/607006e30001df8d02480233.jpg

蛊毒传说
浏览 139回答 2
2回答

红糖糍粑

我没有使用Google API的经验,但是我认为它期望使用有效的JSON,因此即使在发送请求本身之前,我们在代码中也存在问题。因此,在继续之前,您应该修复声明的字典:编写"isAdmin": "false",不正确,因为True / False是布尔值,但是您将它们作为字符串发送。您应该改写"isAdmin": False,。如果要编辑json文件本身,请写入false,因为在python中,布尔值以大写字母开头,而不是JSON。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python