Сначала убедитесь, что вы сохраняете свой параметр oauth_session_handle из исходного вызова get_access_token
.
Затем, когда вы хотите обновить access_token, сделайте что-то вроде этого:
request_token = OAuth::RequestToken.new(consumer,
config["ACCESS_TOKEN"],
config["ACCESS_TOKEN_SECRET"])
token = OAuth::Token.new(config["ACCESS_TOKEN"],
config["ACCESS_TOKEN_SECRET"])
@access_token = request_token.get_access_token(
:oauth_session_handle => config["SESSION_HANDLE"],
:token => token)
... где ...
config["ACCESS_TOKEN"] is your old access token
config["ACCESS_TOKEN_SECRET"] is your old secret
config["SESSION_HANDLE"] is your oauth_session_handle
consumer is your OAuth::Consumer.new reference
Я сохраняю переменную конфигурации в файле yaml, а затем загружаю ее при запуске.
Не забудьте сохранить @access_token
для следующего раза.
Я адаптировал это из ответа на YDN OAuth Forum .