Приложение Rails, использующее Oauth для публикации в Twitter, становится «не авторизованным» при работе на производственном сервере.Хорошо в localhost - PullRequest
2 голосов
/ 17 февраля 2011

Я пытаюсь использовать Oauth Single Token в Твиттере для публикации из приложения rails в моем твиттере (однопользовательский вариант отлично подходит для моего приложения). Это Это то, о чем я говорю.

Вот соответствующая часть моего кода:

twitter_consumer_key = 'AAAAAA...'
twitter_consumer_secret = 'BBBBBB///'
oauth_token = 'CCCCC....'
oauth_token_secret = 'DDD.....'

consumer = OAuth::Consumer.new(twitter_consumer_key, twitter_consumer_secret, :site => "http://api.twitter.com", :scheme => :header)
access_token = OAuth::AccessToken.from_hash(consumer, :oauth_token => oauth_token, :oauth_token_secret => oauth_token_secret)
response = access_token.post("http://api.twitter.com/1/statuses/update.json", {:status => "Coffee's ready at 191 Peachtree!! "+Time.now.to_i.to_s})
logger.info response.inspect

Когда я запускаю это на моей локальной машине, все идет хорошои пост создан на моем канале.Когда я запускаю его на своем производственном сервере (centos5.5, Apache 2, Passenger, Rails 3.0.4), я получаю HTTPUnauthorized.

Любые идеи о том, как это устранить?

Спасибозаранее.

Ответы [ 2 ]

1 голос
/ 23 августа 2011

Попробуйте заполнить Callback URL в настройках вашего приложения на dev.twitter.com. Должно быть что-то вроде этого:

URL обратного вызова http://yousite.com/auth/twitter/callback

0 голосов
/ 30 июня 2011

За комментарий Авраама я добавляю решение в качестве ответа вместо комментария:

Часовой пояс моего сервера был установлен неправильно, поэтому я получил следующую ошибку в теле ответа:

{"request":"\/1\/statuses\/update.json","error":"Timestamp out of bounds"} 

Я правильно установил время и часовой пояс, и теперь он работает нормально.

:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...