我正试图在我的谷歌管理员帐户下插入一个新用户:
def insertNewUser(directory_service):
params = {
'name': {
'familyName': 'Testfamilyname',
'givenName': 'TestgivenName',
},
'password': 'testpassword',
'primaryEmail': 'testemail@mycompanydomain',
}
result = directory_service.users().insert(body=params).execute()
执行此代码后,我得到以下错误消息:
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://www.googleapis.com/admin/directory/v1/users?alt=json returned "Resource Not Found: domain">
我不知道这意味着什么,也不知道如何解决这个问题?有没有使用Google Admin API插入用户的例子?
我尝试在请求中添加域,但没有帮助,例如:
params = {
'name': {
'familyName': 'Testfamilyname',
'givenName': 'TestgivenName',
},
'password': 'testpassword',
'primaryEmail': 'testemail@mycompanydomain',
'organizations': {
'domain': 'mycompanydomain',
}
}
或:
params = {
'name': {
'familyName': 'Testfamilyname',
'givenName': 'TestgivenName',
},
'password': 'testpassword',
'primaryEmail': 'testemail@mycompanydomain',
'domain': 'mycompanydomain',
}
我确信我的身份验证是正确的,因为我可以执行get like请求,比如列出我帐户下的所有当前用户。
我尝试使用Google API资源管理器执行相同的查询:https://developers.google.com/admin-sdk/directory/v1/reference/users/insert而且在那里效果很好。
我还看到了以下帖子:404找不到资源:使用Google Direcotry API的域,也许解决方案类似,但我找不到如何在Python中使用API创建用户对象。也没有可用的例子。
我发现了错误。域名当然应该以".com"结尾。正确的请求是:
def insertNewUser(directory_service):
params = {
'name': {
'familyName': 'Testfamilyname',
'givenName': 'TestgivenName',
},
'password': 'testpassword',
'primaryEmail': 'testemail@mycompanydomain.com',
}
result = directory_service.users().insert(body=params).execute()