提到https://msdn.microsoft.com/en-us/office/office365/api/use-outlook-rest-api。 我仍然无法理解AD,Outlook和Windows直播。
我从https://login.microsoftonline.com/common/oauth2/v2.0/authorize获得了刷新令牌和访问令牌 https://login.microsoftonline.com/common/oauth2/v2.0/token
和范围
openid电子邮件个人资料offline_access https://outlook.office.com/mail.send https://outlook.office.com/mail.readwrite
使用访问令牌连接imap时仍然出现错误。
imap.authenticate('XOAUTH2', 'xxxxxxx', access_token)
Net::IMAP::NoResponseError: AUTHENTICATE failed.
答案 0 :(得分:2)
我终于使它起作用了。
有趣的是,我必须使用范围
{
"env": {
"browser": true,
"es6": true
},
"extends": "airbnb",
"rules": {
"indent": ["error", 4, { "SwitchCase": 1 }],
"no-alert": "error",
"no-debugger": "error",
"no-console": "off",
"no-shadow": "off",
"no-plusplus": "off",
"no-empty-pattern": "off",
"no-underscore-dangle": "off",
"no-case-declarations": "off",
"no-else-return": "off",
"padded-blocks": "off",
"no-tabs": "off",
"default-case": "error",
"comma-dangle": "error",
"no-nested-ternary": "off",
"consistent-return": "off",
"no-param-reassign": "off",
"no-use-before-define": "off",
"brace-style": ["error", "stroustrup", { "allowSingleLine": true }],
"import/prefer-default-export": "off",
"max-len": ["error", { "code": 120 }],
"object-curly-newline": ["error", { "multiline": true, "consistent": true }],
"arrow-body-style": "off",
"arrow-parens": ["error", "as-needed"],
"quotes": ["error", "single"],
"prefer-arrow-callback": "off",
"no-new-object": "off"
},
"settings": {
"import/resolver": "webpack"
}
}
,尽管现在您必须在Azure AD的Graph API部分下注册您的应用,并且建议的范围为module.exports = {
parser: '@typescript-eslint/parser',
extends: [
'plugin:react/recommended',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended'
],
parserOptions: {
ecmaversion: 2018,
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
settings: {
react: {
version: 'detect',
},
},
rules: {
'@typescript-eslint/no-explicit-any': 'off'
}
}
,这对我不起作用(身份验证失败) 。
尽管我不确定这是否会在不久的将来改变。
我使用了此处所述的属性:https://javaee.github.io/javamail/OAuth2
https://outlook.office365.com/IMAP.AccessAsUser.All
答案 1 :(得分:1)
对于那些询问有关个人帐户的IMAP的人-Outlook.com
-重新:comment
显然,消费者Outlook.com(也称为live.com)的范围是wl.imap
。
在Scopes and permissions上查看旧的Microsoft文档。
还请看以下示例,其中提到了相同的作用域:
http://afterlogic.com/mailbee-net/docs/OAuth2MicrosoftRegularAccountsInstalledApps.html
顺便说一句,我们遇到了 Clever Components 文章中的旧Microsoft文档:
https://www.clevercomponents.com/articles/article049/
具有指向Microsoft文档的链接:
https://msdn.microsoft.com/en-us/windows/desktop/dn440163
在页面末尾列出的相关部分中具有指向Scopes and permissions
的链接:
https://msdn.microsoft.com/en-us/windows/desktop/hh243646
在聪明的组件文章中,他们使用了两个范围wl.imap
和wl.offline_access
。
他们指出:
Microsoft建议将“ wl.offline_access”作用域与“ wl.imap”一起使用。否则,只有当用户登录Live Connect并使用您的应用程序时,该应用程序才能访问该用户的信息。”
因此,如果您的应用程序需要连续访问,则需要包括脱机访问范围。
答案 2 :(得分:0)
请参阅Microsoft在2020年4月30日发布的最新消息。
Announcing OAuth 2.0 support for IMAP, SMTP client protocols in Exchange Online
今天,我们宣布OAuth 2.0 authentication for IMAP, SMTP AUTH protocols可以用于Exchange Online邮箱。