Я использую твитер-жемчужину для приложения Rails, так что я могу автоматически обновлять свои сообщения в блоге на моем ленте Twitter.Ошибка «не удалось аутентифицировать вас» Ошибка
Я следовал gem readme instructions, бросая это в конфиг/инициализаторов/twitter.rb файл
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
обновляя эти переменные на Heroku, подписавшись мое приложение под моим Твиттере, давая читать записи, писать, и прямой доступ, а затем пытается обновить через консоль Heroku так:
Twitter.update("Testing Twitter integration")
к сожалению, я получаю эту ошибку:
Twitter::Error::Unauthorized: Could not authenticate you
(с последующим этим, вероятно, бесполезных деталей):
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter/response/raise_error.rb:21:in `on_complete'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/response.rb:9:in `block in call'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/response.rb:63:in `on_complete'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/response.rb:8:in `call'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/request/url_encoded.rb:14:in `call'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/request/multipart.rb:13:in `call'
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter/request/multipart_with_file.rb:14:in `call'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/connection.rb:247:in `run_request'
from /app/vendor/bundle/ruby/1.9.1/gems/faraday-0.8.6/lib/faraday/connection.rb:112:in `post'
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter/client.rb:81:in `request'
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter/client.rb:70:in `post'
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter/api/utils.rb:82:in `object_from_response'
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter/api/tweets.rb:129:in `update'
from /app/vendor/bundle/ruby/1.9.1/gems/twitter-4.5.0/lib/twitter.rb:52:in `method_missing'
from (irb):2
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'irb(main):003:0>
Twitter определенно аутентичности меня, по крайней мере частично, потому что раньше, когда я не перешел на чтение/запись, он жаловался, что
Twitter::Error::Unauthorized: Error processing your OAuth request: Read-only application cannot POST
(Чтобы исправить это, я отредактировал мои настройки и сбросил свои ключи OAuth).
У меня Googled вокруг, но мне не повезло найти других людей в той же ситуации. Удивление, что я делаю что-то не так, или мне просто нужно немного подождать.
Любые идеи?
Есть! «В противном случае» (после добавления URL-адреса обратного вызова) привело меня к тройной проверке моих настроек oauth, прежде чем я сказал, что они точны, и я понял, что я назвал секретную токенную переменную TWITTER_OAUTH_SECRET вместо правильной TWITTER_OAUTH_TOKEN_SECRET. Фиксация сделала все. Благодаря! – Sasha