我正在使用以下网址创建对Outlook推送通知的订阅请求:
https://outlook.office365.com/api/v2.0/me/subscriptions
我已使用基于证书的Azure AD身份验证来使用以下代码获取令牌:
AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/mytenant/oauth2/v2.0/token");
AuthenticationResult authResult = await authContext.AcquireTokenAsync("https://outlook.office365.com/", certificate);
调用订阅API时,我收到一个Forbidden错误并带有以下响应:
x-ms-diagnostics: 2000008;reason="OAuth2 AccessTokens for app-only require that the target mailbox is explicitly specified with the api call";error_category="invalid_grant"
请你帮我解决我出错的地方或如何调试/解决这个错误。
提前致谢
答案 0 :(得分:0)
由于您使用的是App-only
令牌,因此API需要您在URI中明确指定目标邮箱。
例如:https://outlook.office365.com/api/v2.0/Users(foo@bar.com)/subscriptions
me
仅在目标邮箱与经过身份验证的用户相同时才有用。但是,如果仅限app,则没有经过身份验证的用户,您是否必须明确。