2016-11-25 58 views
2

第一篇文章...在這裏。我試圖顯示來自共享郵箱的電子郵件,但遇到「ErrorAccessDenied Access is denied。Check credentials and try again」。Microsoft Graph API .NET無法讀取共享郵件

用戶對郵箱有權限,我可以訪問/閱讀Outlook和O365門戶中的電子郵件。在我的應用程序中,我還分配了Mail.Read.Shared和Mail.ReadWrite.Shared範圍。

一開始我嘗試圖形瀏覽器

https://graph.microsoft.com/beta/users/<userPrincipalNameOfSharedMailbox>/messages 

但同樣ErrorAccessDenied,假設圖形瀏覽器並沒有Mail.Read.Shared範圍。

接下來,我試圖修改Microsoft Graph Snippets Sample for ASP.NET 4.6

我加入Mail.Read.Shared和Mail.ReadWrite.Shared,並提示是否接受這些權限

•讀寫郵件,您可以訪問

•閱讀郵件,您可以訪問

但是,當我嘗試從共享郵箱獲取郵件時遇到同樣的錯誤

IUserMessagesCollectionPage messages = await graphClient.Users["userPrincipalNameOfSharedMailbox"].Messages.Request().GetAsync(); 

在這裏有一個類似的帖子Microsoft Graph API SDK .NET Issues getting other users emails答案意味着這是可能的。如果任何人都能提供一些有關我缺少的知識?謝謝

回答

0

現在,授權代碼流不支持訪問共享消息,但支持client_credentials流程。爲了結合這個功能,你將不得不改變你的流程來加入這個功能。

Here是一篇關於創建client_credentials流應用程序的文章,如果您有興趣走這條路線。

+0

感謝您的指導,我能夠得到它的工作。稍後會添加該功能,Mail.Read.Shared範圍的目的是什麼,或者我誤解了某些內容。對我而言,Mail.Read.Shared應該允許訪問共享郵件項目。 – c2h0

+0

是的,我同意Mail.Read.Shared範圍意味着這是可用的。這個功能是我們正在努力的,但不幸的是我沒有ETA。 –

相關問題