我試圖訪問EWS託管API推送通知(訂閱推送通知),通過OAuth如下:401未經授權而訂閱與Exchange服務和OAuth
var authenticationTask = await authenticationContext.AcquireTokenAsync("https://outlook.office365.com", new ClientCredential(clientID, clientSecret));
string targetSmtp = "[email protected]";
ExchangeService exchangeService = new ExchangeService(ExchangeVersion.Exchange2013);
exchangeService.Url = someURL;
exchangeService.TraceEnabled = true;
exchangeService.TraceFlags = TraceFlags.All;
exchangeService.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, "[email protected]");
exchangeService.HttpHeaders.Add("X-AnchorMailbox", targetSmtp);
exchangeService.Credentials = new OAuthCredentials(authenticationTask.AccessToken);
PushSubscription subscription = exchangeService.SubscribeToPushNotifications(
new[] { someFolder },
new Uri(postBackUrl),
15,
null,
EventType.NewMail,
EventType.Created,
EventType.Deleted,
EventType.Modified,
EventType.Moved,
EventType.Copied);
我能夠得到令牌我應用程序,但同時認購推送通知用戶([email protected])我得到"The request failed. The remote server returned an error: (401) Unauthorized."
錯誤
更新:嘗試以下這裏所說的完全一樣的步驟:Azure AD app-only access tokens for exchange impersonation但仍然得到401