Я использую Twitter API для моего проекта. Когда пользователь входит в систему с использованием Twitter, я настраиваю конфигурацию в соответствии с документацией.Объявление переменной - Twitter API Ruby on Rails
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_action :authenticate_user!
before_action :set_twitter_client
private
def set_twitter_client
if user_signed_in?
@twitter_client = Twitter::REST::Client.new do |config|
config.consumer_key = "xxx"
config.consumer_secret = "xxx"
config.access_token = current_user.token
config.access_token_secret = current_user.token_secret
end
end
end
end
Однако каждый пользователь загрузить страницу, эта декларация напомним, и я в конечном итоге с переливом квот, это раздражает. Я попытался объявить эту переменную только один раз и сохранить ее в переменной сеанса, но она не работает.
Так что мой вопрос в том, что является лучшим способом объявить эту конфигурационную переменную? Можно ли объявить его один раз для каждого подключенного пользователя и сохранить его где-нибудь? Или мне нужно напомнить об этом каждый раз, когда пользователь загружает новую страницу?
Но ENV ["TWITTER_ACCESS_TOKEN"] и ENV ["TWITTER_ACCESS_SECRET"] являются разными для каждого пользователя, поэтому я не могу его хранить где-то «глобально», и я могу знать его перед входом в систему?! Вот почему я делаю конфигурацию только тогда, когда они вошли в систему. Может быть, я ошибаюсь?! –
Маркер доступа и секрет доступа различаются для каждого зарегистрированного приложения («пользователь» API Twitter) не для каждого отдельного пользователя. Если вы хотите интегрироваться с OAuth Twitter, чтобы обеспечить «вход в Twitter», я бы посоветовал Oauth для разработчиков Twitter. Если вы хотите настроить автоматизированный клиент для нескольких зарегистрированных приложений в Twitter Rest Client, у вас будет более сложная задача. – Chris