2011-12-18 2 views
3

나는 설명서가 약간 신비화되거나 압도 된 초보 개발자입니다. Rails 3.1 애플리케이션에서 Twitter 젬을 구현하는 방법에 대해 궁금합니다.rails app에 Twitter gem을 설정하는 방법은 무엇입니까?

  1. 나는 보석을 설치했고 구성해야한다는 것을 알고 있지만 레일스 응용 프로그램에이 구성 정보를 어디에 넣을 까? 레일 앱과 동기화하려면 어떤 방식으로 변경해야합니까?

    Twitter.configure do |config| 
        config.consumer_key = ENV['CONSUMER_KEY'] 
        config.consumer_secret = ENV['CONSUMER_SECRET'] 
        config.oauth_token = ENV['ACCESS_TOKEN'] 
        config.oauth_token_secret = ENV['TOKEN_SECRET'] 
    end 
    
  2. 는 난 아무데도 '트위터'를 요구해야합니까?

  3. 내 앱 방문자가 내 앱에서 상태를 업데이트하도록하려면 Omniauth를 설치해야합니까? 아니면이 보석으로 충분할 것인가? 즉, 보석 파일에 'twitter'가 필요하고 번들 설치가 필요한 경우 번들러가 필요한 모든 것을 처리합니까?

답변

0

첫 번째 질문은 궁금하십니까? 당신이 있다면, 이것은 devise + omniauth + twitter로 내 앱을 만들고 있기 때문에 더 쉬울 것입니다. 그렇지 않다면, 비록 내가 초보자 레일즈 개발자 일지라도, 나는 올바른 길로 인도하려고 노력할 것입니다.

먼저 트위터 계정이 있어야합니다. 그런 다음 here에 로그인하고 앱을 만들어야합니다. 여기에서 Settings 탭에서 사용자의 트위터 계정에 대한 액세스 또는 권한 유형을 선택할 수 있습니다. 제 경우에는 Read only을 사용하고 있습니다. 즉, 인증을 위해서만 Twitter를 사용하고 있습니다. 사용자가 상태를 업데이트 할 수있게하려면 다른 두 가지 옵션 인 Read and WriteRead, Write and Access direct messages을 살펴볼 수 있습니다. 성공적인 인증 후에 Twitter가 리턴하는 콜백 URL도 정의해야합니다. 그런 다음 oauth 대화 상자를 멋지게 정리할 수있는 몇 가지 옵션이 있습니다. Details 탭에는 절대 공개해서는 안되며 레일즈 응용 프로그램에서 필요로하는 Consumer keyConsumer secret이 있습니다. 당신이 보석을 포함해야 앱에

(실행 bundle install 이후) :

#Gemfile 
gem 'omniauth' 
gem 'omniauth-twitter' 

는 그런 다음 초기화, 당신은 omniauth.rb라는 파일을 생성해야합니다 (당신은 당신이 원하는대로 호출 할 수 있습니다, 그러나 다음과 같이) 표준입니다 : 내 경우

#config/initializers/omniauth.rb 
require 'omniauth-twitter' 
config.omniauth :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET'] 

, 내가 고안 사용하고 있기 때문에, 내 devise.rb 파일이 포함되어 있지만만큼 그것의로이 (가) 있습니다 정말 중요하지 않습니다에있는 파일에디렉토리.

당신은 확실히 다음 사이트에서 살펴해야 :

Omniauth's Github Wiki

The invaluable Railscasts by Ryan Bates

관련 문제