Я разрабатываю веб-приложение, которое позволит пользователям твитить сообщения и ссылки, но я не могу заставить Twitter и Omniauth хорошо работать вместе. В настоящее время я работаю на Rails 3.0.6 и Ruby 1.8.7, с драгоценным камнем Twitter 1.4.1 и драгоценным камнем Omniauth 0.2.5.
Я могу нормально аутентифицировать пользователей, но когда дело доходит до отправки твита, мне просто выдается ошибка:
POST https://api.twitter.com/1/statuses/update.json: 401: Incorrect signature
Я следил за этим руководством, и поместил мой потребительский ключ и потребительский секрет в блок настройки Twitter в моем инициализаторе Omniauth, но не токен oauth или секрет oauth, потому что они, безусловно, будут использоваться для каждого пользователя.
omniauth.rb
Twitter.configure do |config|
config.consumer_key = "XXXXXXXXXXXXXXXXXXXXXX"
config.consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
end
user.rb
def twitter
unless @twitter_user
provider = self.authentications.find_by_provider('twitter')
@twitter_user = Twitter::Client.new(:oauth_token => provider.token, :oauth_token_secret => provider.secret) rescue nil
end
@twitter_user
end
Затем я формирую запрос, используя:
current_user.twitter.update("Hello World!")
И вот что тогда дает мне ошибку 401.
Любые идеи? Спасибо!