我正在尝试通过 Twitter gem 使用 Twitter API,并使用先前通过omniauth-twitter 授权的登录 Twitter 用户的 oauth 令牌/秘密对调用进行身份验证。
通过 omniauth-twitter 对 Twitter 用户的身份验证工作正常。将用户的令牌和机密存储在模型中,控制器可以通过 current_twitter_user 获得数据。
以下配置(仅应用程序身份验证)工作正常
Twitter.configure do |config|
config.consumer_key = YOUR_CONSUMER_KEY
config.consumer_secret = YOUR_CONSUMER_SECRET
config.oauth_token = YOUR_OAUTH_TOKEN
config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end
Twitter.search("something")
接下来我想使用经过身份验证的用户的 oauth_token 和 oauth_token_secret。
根据Twitter gem 的文档,我将 twitter 初始化程序更改为:
Twitter.configure do |config|
config.consumer_key = YOUR_CONSUMER_KEY
config.consumer_secret = YOUR_CONSUMER_SECRET
end
然后我创建了一个包含以下代码的操作,用于测试目的:
if current_twitter_user
tw_client = Twitter::Client.new(
:oauth_token => current_twitter_user.token,
:oauth_token_secret => current_twitter_user.secret
)
@first_result = tw_client.search("something").results.first.text
end
我的问题:
Twitter 搜索调用引发“Twitter::Error::Unauthorized”异常。我检查了 current_twitter_user 提供的令牌和秘密,它们看起来不错。
知道我应该寻找什么或我可能做错了什么吗?非常感谢帮助/想法。
非常感谢,尤金
使用中的宝石:
oauth (0.4.7)
omniauth (1.1.4)
omniauth-oauth (1.0.1)
omniauth-twitter (0.0.16)
twitter (4.8.1)