我有一个功能,可以使用使用基本身份验证的EWS访问用户的日历。
使用OAuth2.0切换到现代身份验证
我注册了一个多租户应用程序,以支持组织和个人Microsoft帐户。
我能够针对组织用户成功进行身份验证,但无法针对Microsoft个人帐户进行身份验证。
错误代码:INVALID_SCOPE
错误说明:为输入参数‘Scope’提供的资源值无效。
作用域:https://outlook.office365.com/EWS.AccessAsUser.All
授权地址:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&redirect_uri=https%3a%2f%2fmyapp%2fAuthorization%2f%2fRedirect.aspx
&response_type=code
&response_mode=query
&prompt=login
&scope=https%3a%2f%2foutlook.office365.com%2fEWS.AccessAsUser.All
&state=6a155f24-7065-4f75-9fa9-3c1415acf7dd
&code_challenge=YzuKsJschRNKjuQdbJu5Q2awMmlxmT0QbPD2RI-QKn4
&code_challenge_method=S256
我可以使用EWS访问Microsoft个人帐户吗?还是应该更新代码以使用Microsoft Graph API?
1条答案
按热度按时间wz3gfoph1#
我注册了一个多租户应用程序,以支持组织和个人Microsoft帐户,如下所示:
我为该应用程序添加了API权限,如下所示:
当我尝试使用组织帐号(以onmicrosoft.com结尾)登录时,通过*地址栏中的
code
**验证成功,如下所示:授权地址:
响应:
但是,当我尝试使用Microsoft个人帐户(以outlook.com结尾)登录时,我收到了与您喜欢的相同的错误如下:
ERROR=INVALID_SCOPE ERROR_DESCRIPTION=为输入参数‘Scope’提供的资源值无效。
请注意,EWS不支持个人Microsoft帐户。因此,您只能使用组织帐户来验证EWS。
要确认这一点,请查看Alfredo Revilla-MSFT在*Microsoft Q&A*中的类似场景。