我正在使用Twitter的宝石(https://github.com/jnunemaker/twitter)。继续获取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_token
和oauth_token_secret
可能无效。我存储这些令牌的方式与我为每个用户存储令牌的方式相同。所以没有理由怀疑令牌可能无效。
任何人都知道为什么?
答案 0 :(得分:1)
Could not authenticate with OAuth
错误表示oauth_token
和oauth_secret
不再有效。
今天早些时候我们有一些类似的报道说直接从本网站的您的访问令牌部分复制的值无效。
答案 1 :(得分:0)
我遇到了同样的问题并带来了一个愚蠢的解决方案。 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
希望它有所帮助!