簡體   English   中英

如何使用Admin SDK中的Directory API刪除Google Apps Directory信息?

[英]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上顯示的PUTPATCH方法,但似乎都不起作用。 我還嘗試僅發送修改后的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM