簡體   English   中英

通過Office 365訪問所有用戶郵箱 REST API

[英]Accessing all user's mailbox via Office 365 REST API

我正在試用 Office 365 Rest API。

  • 我已經在 Azure AD 注冊了申請。
  • 它具有以下權限集:Exchange:訪問所有用戶的郵箱、完全控制用戶的日歷、完全控制用戶的聯系人、完全控制用戶的郵箱
  • 我已經使用具有全局管理員權限的管理員授權生成了訪問令牌。
  • 發送了以下請求“ https://outlook.office365.com/api/users/me/messages ”,結果正確,給我當前管理員郵箱中的所有消息
  • 發送了以下請求“ https://outlook.office365.com/api/users/ {另一個用戶的電子郵件}/messages”。 這導致了以下錯誤

    "u'error': {u'message': u'Access is denied. Check credentials and try again.', u'code': u'ErrorAccessDenied'}}"

如果以上步驟有誤,請告訴我?

如果他們錯了,有沒有辦法從另一個用戶的郵箱中獲取電子郵件,因為我有管理員憑據?

謝謝。

您需要使用此博客中所述的服務帳戶,然后才能使用該應用程序,該應用程序才能撥打電話以與該租戶中的任何郵箱進行交互。 您使用其他用戶的郵箱的請求失敗的原因是,僅當應用程序和用戶有權訪問其他用戶的郵箱時,該請求才會被批准。 在您的情況下,管理員有權訪問另一個用戶的郵箱。 但是,假設您使用OAuth代碼流來獲取OAuth令牌,該應用僅具有對經過身份驗證的用戶郵箱的權限。

另外,您不需要REST API的“訪問所有用戶的郵箱”權限,因為它們用於使用Exchange Web服務(EWS)SOAP API。

如果有人正在尋找解決方案,那是服務主體的問題。 我們指向了錯誤的服務主體,這就是權限問題的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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