2015-07-21 83 views

回答

0

你的意思是像一個委託場景,你被認證爲UserA但代表UserB發送郵件? REST API目前不支持該場景。該應用程序可以以該用戶的身份訪問用戶的電子郵件(只要用戶自己登錄並同意)。您也可以通過使用client credential flow,爲組織中的所有用戶授予組織管理員同意。

UPDATE:我們現在通過REST API支持委託訪問。爲了做到這一點,你的應用必須要求新的權限範圍。

如果您使用的是Azure v2 OAuth2端點,則會有新的範圍啓用此功能。因此,例如,如果您通過https://outlook.office.com/mail.read訪問用戶的郵件,則可以獲得對代理郵箱的相同訪問權限的範圍爲https://outlook.office.com/mail.read.shared

如果您使用的是Azure v1 OAuth2端點,則需要修改應用程序註冊中設置的權限。有新的權限可用,包括「和共享」。例如,授予讀取用戶郵件權限是「讀取用戶郵件」。代理訪問的權限是「讀取用戶和共享郵件」。

一旦您的應用程序具有正確的權限,那麼訪問委託數據與訪問用戶數據的方式非常相似。最大的不同之處在於,您無法使用/me網址段,您必須改爲使用/users/{user-id},並將user-id設置爲代表。

例如,訪問[email protected]'s收件箱:

GET https://outlook.office.com/api/v2.0/users/[email protected]/mailFolders/inbox/messages