我试图访问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