目前,我们使用MS Live API (https://login.live.com/oauth20_token.srf)获取访问/刷新令牌。然后,我们使用以下访问令牌对imap-mail.outlook.com进行身份验证:
auth_string = 'user=%s\1auth=Bearer %s\1\1' % (email, access_token)
imap_conn = imaplib.IMAP4_SSL('imap-mail.outlook.com')
imap_conn.debug = 4
imap_conn.authenticate('XOAUTH2', lambda x: auth_string)
imap_conn.select('INBOX')
print(imap_conn.list())一切都很好。
不幸的是,MS Live API将很快被弃用:https://docs.microsoft.com/en-us/onedrive/developer/rest-api/concepts/migrating-from-live-sdk?view=odsp-graph-online
因此,我们尝试使用MS Graph API令牌。我们得到令牌:
{ 'access_token': '****',
'scope': 'User.Read Mail.Send Mail.ReadWrite',
'refresh_token': '***',
'token_type': 'Bearer',
'ext_expires_in': 0,
'expires_in': 3600
}但是当我们使用这个标记时,我们总是得到:
46:15.27 > b'JEKB1 AUTHENTICATE XOAUTH2'
46:15.57 < b'+ '
46:15.57 write literal size 1584
46:21.21 < b'JEKB1 NO AUTHENTICATE failed.'
46:21.21 NO response: b'AUTHENTICATE failed.'所以问题是: 1.是否可以使用MS Graph API令牌连接到imap-mail.outlook.com ? 2.如果不能,当MS Live API将不再可用时,这将如何工作?
发布于 2018-10-18 10:10:22
不是
你可以直接使用Graph API for outlook (official docs for python,official docs for outlook,github sample ),不需要使用你当前的方式。
https://stackoverflow.com/questions/52848090
复制相似问题