未找到资源:使用Google API插入新用户时的域名

时间:2014-11-04 19:22:21

标签: json google-api http-status-code-404 google-admin-sdk

我正在尝试在我的Google管理员帐户下插入新用户:

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的请求,例如列出我帐户下的所有当前用户。

我尝试使用Google API资源管理器执行相同的查询:https://developers.google.com/admin-sdk/directory/v1/reference/users/insert并且在那里工作正常。

我也看过以下帖子: 404 Resource Not Found: domain with Google Direcotry API也许解决方案类似,但是我找不到如何使用Python中的API创建用户对象。没有可用的例子。

1 个答案:

答案 0 :(得分:1)

我发现了错误。该域名当然应以&#34; .com&#34;结尾。 正确的要求是:

def insertNewUser(directory_service):
  params = {
    'name': {
      'familyName': 'Testfamilyname',
      'givenName': 'TestgivenName',
    },
  'password': 'testpassword',
  'primaryEmail': 'testemail@mycompanydomain.com',
}
result = directory_service.users().insert(body=params).execute()