我正在使用 Google Admin SDK,特别是 Directory API 来更改我组织中用户目录信息的信息。我正在尝试使用 Google 提供的 Py 库在 Python 中编写一个简单的实用程序应用程序。为用户添加和修改信息似乎工作得很好,我遇到的问题是当我试图删除各种信息时。
例如,我必须向具有各种属性的用户添加“组织”的功能是:
def setOrgAttr(userKey, org, attr, value):
global http, directory
user = directory.users().get(userKey=userKey).execute(http=http)
if u'organizations' in user:
for orgIn in user[u'organizations']:
if orgIn[u'name'] == org:
orgIn[attr] = value
else:
user[u'organizations'].append({u'name':org,attr:value})
else:
user[u'organizations'] = [{u'name':org,attr:value}]
directory.users().update(userKey=userKey,body=user).execute(http=http)
这很好用,但删除效果不太好。我已经尝试使用他们的 API 参考页面https://developers.google.com/admin-sdk/directory/v1/reference/#UsersPUT
上显示的和方法,但似乎都不起作用。我还尝试只发送修改后的 JSON 与整个用户对象,但都不起作用。这是我的删除功能:PATCH
def deleteOrg(userKey, org):
global http, directory
user = directory.users().get(userKey=userKey).execute(http=http)
for (i, orgIn) in enumerate(user[u'organizations']):
if orgIn[u'name'] == org:
user[u'organizations'].pop(i)
directory.users().patch(userKey=userKey,body=user).execute(http=http)
最后,在这里查看上下文中的所有内容是一个 Gist,它向我展示了整个应用程序。
https://gist.github.com/twhitney11/5f431c958aa822dc5ea5
我应该注意,调试请求确实表明我在将 JSON 对象发送到他们的 API 之前从 JSON 对象中删除了该组织。