【问题标题】:Keep getting Twitter::Error::Unauthorized, only with some users不断收到 Twitter::Error::Unauthorized,仅针对某些用户
【发布时间】:2013-02-28 12:13:36
【问题描述】:

我在 (https://github.com/jnunemaker/twitter) 使用 Twitter gem。不断收到 Twitter::Error::Unauthorized,仅针对某些用户。对于其他用户,请求得到满足,没有任何问题。

user = User.first
client = Twitter::Client.new(:oauth_token => user.authentications.where(:provider => 'twitter').first.token, :oauth_token_secret => user.authentications.where(:provider => 'twitter').first.secret)
client.follower_ids

确切的错误:Twitter::Error::Unauthorized: This method requires authentication.

这视具体情况而定。该问题影响了我们系统上的许多用户。您可能首先想到的是,他们的oauth_tokenoauth_token_secret 可能无效。我存储这些令牌的方式与为每个用户存储令牌的方式相同。所以没有理由怀疑令牌可能是无效的。

有人知道为什么吗?

【问题讨论】:

  • 您确定他们在 OAuth 过程中允许您的应用吗?他们本可以按“拒绝”。
  • 我认为在这种情况下他不会得到令牌/秘密。但是,用户可能已取消对应用程序的授权,这会使凭据无效。用户自己在抱怨吗?
  • 是的,抱怨的是用户
  • 他们没有以某种方式将他们的推文设置为私密,这有影响吗?
  • 不,我可以在 Twitter 上看到他们的推文,即使我不是追随者

标签: ruby-on-rails-3 twitter oauth


【解决方案1】:

Could not authenticate with OAuth 错误意味着oauth_tokenoauth_secret 不再有效。

今天早些时候,我们收到了一些类似的报告,称直接从本网站的您的访问令牌部分复制的值不起作用。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,并提出了一个愚蠢的解决方案。 twitter API 发生了变化,您需要您的 oauth_token 和 oauth_token_secret(即使您与其他人一起发布他们的令牌)。您必须在 twitter 开发者页面中生成它们。有点双重......但它对我有用。

    Twitter.configure do |config|
      config.consumer_key = 'key'
      config.consumer_secret = 'secret'
      config.oauth_token = 'oauth_token'
      config.oauth_token_secret = 'oauth_token_secret'
    end
    

    希望对你有帮助!

    【讨论】:

    • 这不会调用您的帐户而不是客户的帐户吗?您是否有您描述的 API 更改的链接?
    猜你喜欢
    • 1970-01-01
    • 2010-11-19
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2019-03-12
    • 2021-02-26
    相关资源
    最近更新 更多