【发布时间】:2021-07-04 11:23:23
【问题描述】:
我有一个这样的 Twitter OAuth 策略:
consumerKey: process.env.CONSUMER_KEY,
consumerSecret: process.env.CONSUMER_SECRET,
userProfileURL: "https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true",
requestTokenURL: 'https://api.twitter.com/oauth/request_token?x_auth_access_type=read',
callbackURL: '/dashboard/auth/callback',
proxy: true
现在,只要我在此处包含requestTokenURL: 'https://api.twitter.com/oauth/request_token?x_auth_access_type=read',我就无法访问用户的电子邮件。如果我删除它,我可以通过userProfileURL: "https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true" 访问电子邮件。
我已在开发者仪表板中启用请求电子邮件权限。我错过了什么?我正在为此使用passport-twitter 库。
【问题讨论】:
-
如果这会阻止您请求电子邮件信息并且这对您很重要,为什么您仍然包含
x_auth_access_type?我不记得这两个参数是否冲突,但这并不让我感到惊讶; email 参数是在 ~2015 年添加的,但 access 参数是从 ~2012 年开始的,因此它们可能不兼容。 -
嘿@AndyPiper,我实际上想要没有写入权限的电子邮件。我想要具有只读访问权限的电子邮件。如果我在开发人员门户中将其更改为只读,我的机器人将无法工作。因此,对于我希望具有只读访问权限的电子邮件的用户来说,x_auth_access_type 是必需的。
标签: node.js twitter twitter-oauth passport-twitter