【问题标题】:Twitter OAuth Strategy Access Level & Email ProblemTwitter OAuth 策略访问级别和电子邮件问题
【发布时间】: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


【解决方案1】:

很遗憾,这似乎是不可能的。

不幸的是,最初的 x_auth_access_type 设置是在添加电子邮件权限之前很久创建的,并且只允许指定读取或写入值中的一个或其他。我认为您在这里看到的是,使用该参数确实会绝对覆盖您在应用程序设置中配置的内容。我会指出这是我们将来应该改进的地方,但目前我不能说我们何时或是否可能改变这种行为。

来源:https://twittercommunity.com/t/email-is-not-requested-when-x-auth-access-type-parameter-added/72396/5

【讨论】:

  • 哇,已经五年多了,还没有更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 2011-02-22
相关资源
最近更新 更多