[英]How do you remove Google Apps Directory information using the Directory API in the Admin SDK?
我正在使用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/#Users上顯示的PUT
和PATCH
方法,但似乎都不起作用。 我還嘗試僅發送修改后的JSON與整個用戶對象,但均無效。 這是我的刪除功能:
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)
最后,要查看上下文中的所有內容,請按此處,向我展示整個應用程序的要點。
https://gist.github.com/twhitney11/5f431c958aa822dc5ea5
我應該注意,調試該請求確實表明我在將其發送到他們的API之前已從JSON對象中刪除該組織。
將最后一行更改為:
modified_user = directory.users().patch(userKey=userKey,body=user).execute(http=http)
並查看Modify_user ['organizations']的外觀。 更改用戶的豐富個人資料信息(例如組織)可能需要4個小時或更長時間才能反映在Gmail聯系人界面中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.