我有一個可以訪問我的郵箱的應用程序。我按照本教程創(chuàng)建了應用程序:https://docs.microsoft.com/en-us/graph/tutorials/aspnet?tutorial-step=1然后我調整了應用程序來閱讀郵件。這適用于我自己的郵件。但是,我需要訪問一個共享收件箱,我可以訪問該收件箱并且可以在我的 Outlook 中閱讀電子郵件。我嘗試使用以下代碼執(zhí)行此操作:public static async Task<IEnumerable<Message>> GetMailAsync() { var graphClient = GetAuthenticatedClient(); var mail = await graphClient.Users["usersemail@somewhere.com"].MailFolders.Inbox.Messages.Request() .GetAsync(); return mail; }但是,我收到一個未經(jīng)授權的錯誤:授權錯誤 這是我的授權碼:private static GraphServiceClient GetAuthenticatedClient() { return new GraphServiceClient( new DelegateAuthenticationProvider( async (requestMessage) => { // Get the signed in user's id and create a token cache string signedInUserId = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value; HttpContextWrapper httpContext = new HttpContextWrapper(HttpContext.Current); TokenCache tokenStore = new SessionTokenStore(signedInUserId, httpContext).GetMsalCacheInstance(); var idClient = new ConfidentialClientApplication( appId, redirectUri, new ClientCredential(appSecret), tokenStore, null); })); }我在應用程序中添加了權限應用程序權限的圖像誰能發(fā)現(xiàn)我在這里做錯了什么?有些帖子認為它不能以這種方式完成(Microsoft Graph API .NET 無法讀取共享郵件,Microsoft Graph API SDK .NET 問題獲取其他用戶的電子郵件),但我可以讓它在圖形資源管理器中工作。任何幫助表示贊賞,包括關于如何改進我的問題的建議。
1 回答

慕俠2389804
TA貢獻1719條經(jīng)驗 獲得超6個贊
發(fā)現(xiàn)問題,我沒有正確設置appSettings。
我將“User.Read Mail.Read.Shared”添加到我的 PrivateSettings.Config 中,如下所示:
<add key="ida:AppScopes" value="User.Read Calendars.Read" />
<add key="ida:AppScopes" value="User.Read Mail.Read" />
<add key="ida:AppScopes" value="User.Read Mail.Read.Shared" />
希望這可以幫助某人。
- 1 回答
- 0 關注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消