2017-01-31 112 views
1

我們有一個Office365租戶,但沒有內部部署AD來同步(是的,我們在Linux上普遍運行)。我們的用戶「活着」在一個oracle數據庫中。從那裏他們被複制到我們使用的所有其他後端(OpenLDAP,MySQL,Kerberos,...現在甚至Azure)。使用Microsoft Graph API更新proxyAddresses

我們正在使用「用於Python的Microsoft Azure客戶端庫」,並且能夠創建和更新用戶(我們必須擴展UserUpdateParameters類)。

但是,當涉及到更新/設置用戶的郵件別名(用戶擁有多個本地部分,或許不止一個域名部分),我們得到以下異常:

Traceback (most recent call last): 
    File "update.max_sgv.py", line 87, in <module> 
    uu = graphrbac_client.users.update(object_id, parameters) 
    File "/usr/local/lib/python2.7/dist-packages/azure/graphrbac/operations/users_operations.py", line 275, in update 
    raise models.GraphErrorException(self._deserialize, response) 
azure.graphrbac.models.graph_error.GraphErrorException: Property 'proxyAddresses' is read-only and cannot be set. 

有沒有人一個想法如何用python(azure,msrest)來做到這一點?

順便說一句:otherMails沒有辦法。

無論如何,將它暴露給其他API(例如電源外殼AD擴展)而不是Graph API是不合理的。

謝謝你的時間,並希望你的建議。

馬西莫·巴斯

+0

您可以在'update.max_sgv.py'中爲用戶發佈更新操作的代碼,代碼'uu = graphrbac_client.users.update(object_id,parameters)'的參數值?根據我的經驗,它似乎是一個屬性'proxyAddresses'作爲請求數據存在於'parameters'變量中。但根據錯誤信息,'proxyAddresses'是隻讀的,[只在響應正文中](https://github.com/Azure/azure-sdk-for-python/blob/f8dc98625404b75e5d6365ad30c04abc90ee751a/azure-mgmt/)測試/記錄/ test_graphrbac.test_graphrbac_users.yaml)。 –

回答

2

沒有辦法,目前通過微軟圖形API來設置用戶的電子郵件地址。我們目前正在調查增加所需的支持,但沒有ETA。

+0

謝謝您的回覆。那麼,我希望在早日到來。同時,我可能不得不離開我的舒適區... –

相關問題