【发布时间】:2016-07-03 16:22:11
【问题描述】:
根据 developer.yahoo.com/mail/ 和 IMAP 回复:
* OK [CAPABILITY IMAP4rev1 ID MOVE NAMESPACE X-ID-ACLID UIDPLUS LITERAL+ CHILDREN XAPPLEPUSHSERVICE XYMHIGHESTMODSEQ AUTH=PLAIN AUTH=LOGIN AUTH=XOAUTH2 AUTH=XYMCOOKIE AUTH=XYMECOOKIE AUTH=XYMCOOKIEB64 AUTH=XYMPKI] IMAP4rev1 imapgate-1.8.1_01.20166 imap1009.mail.ne1.yahoo.com
Yahoo Mail 可以通过 IMAP 使用 OAuth(2) 身份验证访问。
我在https://developer.yahoo.com/apps/ 上注册了我的应用程序,因此我获得了客户端 ID 和客户端密码。我没有找到任何与邮件相关的范围(API 权限)。尽管如此,我还是选择了注册应用程序时显示的所有 API 权限。
我尝试同时实现 OAuth 和 OAuth2。
OAuth2: 我无法获得范围“mail-r”的授权码。当我生成 URL(https://api.login.yahoo.com/oauth2/request_auth?client_id=CLIENT_ID&redirect_uri=oob&scope=mail-r&response_type=code) 并在浏览器中打开它时,页面显示“开发人员:请从注册的范围请求范围并再次提交”。被展示。它适用于其他范围。例如,我可以获得“sdct-r”的授权码
OAuth: 我能够获得访问令牌。但是当我使用 AUTHENTICATE XOAUTH2 命令发送它时,我收到“NO [AUTHENTICATIONFAILED] (#AUTH007) Bad scope”响应。
那么问题是应该设置什么范围来使用 IMAP 和 OAuth(2) 访问 Yahoo Mail?
【问题讨论】:
-
似乎邮件 api 可用于高级邮件帐户...查看 packagetracker 网站,在注册 yahoo 时,它显示了 oauth2 过程中的邮件范围...我找不到包含该范围的方法...如果您找到了包含它的方法,请在此处发布答案,这将是一个很大的帮助...
-
@Aleksey 你在这上面找到什么了吗?
-
@Aleksey,请将 user3377687 答案标记为已接受...我已经检查过了,它可以工作...如果您将范围设置为 ymrf => 完全访问权限,它肯定会添加邮件完全权限
-
完成,谢谢。当然,非常感谢@user3377687。
标签: oauth oauth-2.0 imap yahoo-mail yahoo-oauth