我们使用Google Python API创建帐户.从2012年8月11日太平洋标准时间下午1点开始,我们开始收到这些间歇性错误消息:
errorCode="1301" invalidInput="loginname" reason="EntityDoesNotExist"
Run Code Online (Sandbox Code Playgroud)
当我们检查Google信息中心时,该帐户实际上已创建,但由于Google发回的错误消息,我们的其余帐户创建任务未完成.
有没有其他人注意到这个问题和/或知道为什么会发生这种情况?
我们的帐户配置代码非常强大,在11/8之前创建了超过50,000个帐户.
这是代码片段:
r = client.CreateUser(act.localpart, family_name, given_name, password, suspended='false', quota_limit=25600, password_hash_function="SHA-1",change_password=None )
Run Code Online (Sandbox Code Playgroud)
这是完整的追溯:
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/cherrypy/_cphttptools.py", line 105, in _run
self.main()
File "/usr/lib/python2.4/site-packages/cherrypy/_cphttptools.py", line 254, in main
body = page_handler(*virtual_path, **self.params)
File "<string>", line 3, in create_accountgmail
File "/usr/lib/python2.4/site-packages/turbogears/controllers.py", line 348, i expose
output = database.run_with_transaction(
File "<string>", line 5, in run_with_transaction
File "/usr/lib/python2.4/site-packages/turbogears/database.py", line 376, in s _rwt
retval = dispatch_exception(e, args, kw)
File "/usr/lib/python2.4/site-packages/turbogears/database.py", line 357, …Run Code Online (Sandbox Code Playgroud) 我正在转换到新的admin-sdk api,而不是很容易找到它.我已经想出了誓言和基本的用户查询,但现在我不得不创建一个谷歌应用程序帐户.
这是我正在使用的代码:
import httplib2
import pprint
import sys
from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials
SERVICE_ACCOUNT_EMAIL = 'xyz@developer.gserviceaccount.com'
SERVICE_ACCOUNT_PKCS12_FILE_PATH = 'privatekey.p12'
f = file(SERVICE_ACCOUNT_PKCS12_FILE_PATH, 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(SERVICE_ACCOUNT_EMAIL,
key,
scope='https://www.googleapis.com/auth/admin.directory.user',
sub='myadmin@mydomain.edu',
)
http = httplib2.Http()
http = credentials.authorize(http)
userinfo = { 'primaryEmail': 'jane@mydomain.edu',
'name': { 'givenName': 'Jane', 'familyName': 'Smith' },
'password': 'mypasswd',
}
service = build("admin", "directory_v1", http=http)
users = service.users()
users.insert(userinfo).execute()
Run Code Online (Sandbox Code Playgroud)
这是结果:
Traceback (most recent call last):
File "xy", line 39, in <module> …Run Code Online (Sandbox Code Playgroud)