2013-06-24 3 views
0

나는 초보자이며 개발자가 아니라는 점을 지적하고 싶습니다. 그래서 몇 가지 기본 단계를 놓칠 수도 있습니다.pengwynn linkedin gem과의 인증 오류

나는 omniauth-linkedin gem을 통해 권한을 부여하고 pengwynn 'linkedin'gem을 통해 Linkedin API를 쿼리하는 방법을 알아 내려고하고 있습니다.

나는 oauth를 통해 사용자를 연결할 수 있으며, 거기에 좋은 장치 사용자 항목 등을 만들 수 있습니다.

API를 쿼리 할 때 문제가 발생합니다. 특히 사용자의 스킬 목록을 얻는 데 관심이 있습니다. 내 users_controller.rb에서이 코드를

def show 
    @user = User.find(params[:id]) 
    token = @user.access_token 
    secret = @user.access_secret 

    client = LinkedIn::Client.new(ENV["LINKEDIN_KEY"], ENV["LINKEDIN_SECRET"]) 
    client.authorize_from_access(token, secret) 
    raise client 
    end 

나는 불행하게도 client.profileI가 401 오류 얻을 쿼리 할 때, 방금 새로 만든 고객과의 플레이를하도록 클라이언트를 제기하고있다 :

링크드 :: 오류 :: UnauthorizedError : (401) : [무단으로]. OAuth 요청에 사용 된 토큰이 유효하지 않습니다. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>

무엇이 잘못 되었습니까?

답변

0

raise client 이전에는 권한을 제공해야합니다. 향후 요청 토큰을 저장해야 콜백 URL에

def show 
    client = LinkedIn::Client.new(ENV["LINKEDIN_KEY"], ENV["LINKEDIN_SECRET"]) 
    request_token = client.request_token({:oauth_callback => "callback url here"}, :scope => "rw_nus r_fullprofile r_emailaddress") 
    client.authorize_from_access(request_token.token, request_token.secret) 
    redirect_to request_token.authorize_url 
end 

: 예를 들어

redirect_to request_token.authorize_url 

: 당신은 리디렉션을해야한다.

행운을 빌어 요!

+0

매우 감사드립니다. – Dave

관련 문제