使用 oAuth2 令牌将 EWS API 服务连接到 outlook.com 帐户
Connecting with EWS API service to outlook.com account with oAuth2 token
我可以在 outlook.com url
上使用我的帐户通过 live.com 进行身份验证
https://login.microsoftonline.com/common/v2.0
我收到了 accessToken 和 id 令牌。
我的问题是我是否可以使用 此 accessToken 通过使用此令牌的 EWS API 服务检索有关我的电子邮件的交换数据?交换服务。
_exchangeService = new ExchangeService(ExchangeVersion.Exchange2007_SP1) { ConnectionGroupName = Guid.NewGuid().ToString() };
_exchangeService.Credentials = new WebCredentials("xxxxxxx", "xxxxxxxx", "outlook.com");
// _credentials = new OAuthCredentials(user.PasswordToken);
// Set the URL.
_exchangeService.TraceEnabled = true;
_exchangeService.AutodiscoverUrl("xxxxx")
通过以下 URL 中的 ExchangeService.asmx 向 Outlook 365 进行身份验证,以进行以下 sample.
中完成的交换服务
> https://outlook.office365.com/EWS/Exchange.asmx
我的问题是,我是否可以使用 live.com 为 outlook.com 帐户提供的 idToken/accessToken 从交换服务 ASMX 检索电子邮件数据?
outlook.com 帐户 似乎不支持使用 EWS Managed API 检索数据。
你可以阅读(黄色部分)here and also here。
基本上,现在有 2 个门户可以创建应用程序:
它声明由于这些原因 outlook.com 帐户不受支持:
应在新应用程序注册门户中创建和管理新应用程序注册,以与Outlook.com兼容。这意味着如果你有一个通过 Azure 管理门户创建的应用程序,outlook.com 将不支持它,并且令牌将不适用于 outlook.com 个帐户。
在 Azure 管理门户中创建的现有应用程序注册将继续有效仅适用于 Office 365
此外,如果您使用应用程序注册门户创建了应用程序,REST API 目前在所有具有 Exchange Online 的 Office 365 帐户上启用,只有一些[=41] =] Outlook.com 个帐户。这意味着不能保证所有 outlook.com 帐户都可以,因为他们还没有迁移所有帐户(还)。
具有 Outlook.com 个邮箱的 Microsoft 帐户(包括 Outlook.com、Hotmail.com、Live.com、MSN.com 和 Passport.com) 正在升级以启用 REST APIs。在此过程中,对尚未升级的邮箱进行 API 调用将 return MailboxNotEnabledForRESTAPI 或 MailboxNotSupportedForRESTAPI 错误代码。
我相信 EWS 仍然适用于具有 BASIC(用户名、密码)身份验证的 Outlook.com 帐户。在迁移到 Graph API 之前,我们曾经使用过它。不过,您需要让您的 Outlook 用户生成一个特殊的 App Password。
要简化您的 Exchange/Outlook 集成,请查看 Aurinko API
我可以在 outlook.com url
上使用我的帐户通过 live.com 进行身份验证https://login.microsoftonline.com/common/v2.0
我收到了 accessToken 和 id 令牌。
我的问题是我是否可以使用 此 accessToken 通过使用此令牌的 EWS API 服务检索有关我的电子邮件的交换数据?交换服务。
_exchangeService = new ExchangeService(ExchangeVersion.Exchange2007_SP1) { ConnectionGroupName = Guid.NewGuid().ToString() };
_exchangeService.Credentials = new WebCredentials("xxxxxxx", "xxxxxxxx", "outlook.com");
// _credentials = new OAuthCredentials(user.PasswordToken);
// Set the URL.
_exchangeService.TraceEnabled = true;
_exchangeService.AutodiscoverUrl("xxxxx")
通过以下 URL 中的 ExchangeService.asmx 向 Outlook 365 进行身份验证,以进行以下 sample.
中完成的交换服务> https://outlook.office365.com/EWS/Exchange.asmx
我的问题是,我是否可以使用 live.com 为 outlook.com 帐户提供的 idToken/accessToken 从交换服务 ASMX 检索电子邮件数据?
outlook.com 帐户 似乎不支持使用 EWS Managed API 检索数据。
你可以阅读(黄色部分)here and also here。
基本上,现在有 2 个门户可以创建应用程序:
它声明由于这些原因 outlook.com 帐户不受支持:
应在新应用程序注册门户中创建和管理新应用程序注册,以与Outlook.com兼容。这意味着如果你有一个通过 Azure 管理门户创建的应用程序,outlook.com 将不支持它,并且令牌将不适用于 outlook.com 个帐户。
在 Azure 管理门户中创建的现有应用程序注册将继续有效仅适用于 Office 365
此外,如果您使用应用程序注册门户创建了应用程序,REST API 目前在所有具有 Exchange Online 的 Office 365 帐户上启用,只有一些[=41] =] Outlook.com 个帐户。这意味着不能保证所有 outlook.com 帐户都可以,因为他们还没有迁移所有帐户(还)。
具有 Outlook.com 个邮箱的 Microsoft 帐户(包括 Outlook.com、Hotmail.com、Live.com、MSN.com 和 Passport.com) 正在升级以启用 REST APIs。在此过程中,对尚未升级的邮箱进行 API 调用将 return MailboxNotEnabledForRESTAPI 或 MailboxNotSupportedForRESTAPI 错误代码。
我相信 EWS 仍然适用于具有 BASIC(用户名、密码)身份验证的 Outlook.com 帐户。在迁移到 Graph API 之前,我们曾经使用过它。不过,您需要让您的 Outlook 用户生成一个特殊的 App Password。
要简化您的 Exchange/Outlook 集成,请查看 Aurinko API