【发布时间】:2022-01-19 23:17:56
【问题描述】:
我想使用 python 或 c# 客户端阅读我的 office365/outlook 电子邮件,就像以前的 imap 时代一样。但是,所有链接都将我带到图形 api。图 api 的问题是,我需要在 Azure 中注册和应用,或者我需要知道租户 ID。
由于我不是我所在组织的管理员,所以我不知道这些 ID。有什么方法可以使用我的用户名和密码阅读 Office365 电子邮件?
【问题讨论】:
标签: office365
我想使用 python 或 c# 客户端阅读我的 office365/outlook 电子邮件,就像以前的 imap 时代一样。但是,所有链接都将我带到图形 api。图 api 的问题是,我需要在 Azure 中注册和应用,或者我需要知道租户 ID。
由于我不是我所在组织的管理员,所以我不知道这些 ID。有什么方法可以使用我的用户名和密码阅读 Office365 电子邮件?
【问题讨论】:
标签: office365
简短的回答是否定的。您描述的用户名/密码方法称为基本身份验证。您可以使用 Exchange Web 服务(请参阅 here 和 here)使其临时工作,但 Microsoft 已弃用它:
2021 年 9 月,我们宣布自 2022 年 10 月 1 日起,我们将开始在 Exchange Online 中禁用 Outlook、EWS、RPS、POP、IMAP 和 EAS 协议的基本身份验证。
原因是基本身份验证已过时并且存在重大安全风险。更多细节在这里: https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online
【讨论】:
感谢您与我们联系。
您应该使用Get access on behalf of user。
要使用 Microsoft Graph 代表用户读取和写入资源,您的应用必须从 Microsoft 身份平台获取访问令牌并将该令牌附加到它发送到 Microsoft Graph 的请求(OAuth 2.0 授权代码授予流程) .
Microsoft Graph 公开两种权限:应用程序和委托。对于使用登录用户运行的应用程序,您可以在范围参数中请求委派权限。这些权限将登录用户的权限委派给您的应用,允许其在调用 Microsoft Graph 时充当登录用户。
按照教程进行操作,看看这是否适合您。
谢谢。
【讨论】: