2014-07-17 2 views
1

Linkedin 젬을 사용하는 중에 어색한 문제가 있습니다.제작 링크드 인 Oauth

내 응용 프로그램은 oauth를 사용하여 사용자 데이터를 가져 오려고합니다. 개발 환경에서 잘 작동합니다. 그러나 최대한 빨리 업로드 할 그것은 나에게 같은 오류를 제공하기 시작 Heroku가합니다 :

2014-07-17T04:25:07.552779+00:00 app[web.1]: NoMethodError (undefined method `picture_urls' for #<LinkedIn::Client:0x007f4f4cea65f8>): 
2014-07-17T04:25:07.552783+00:00 app[web.1]: app/models/social_auth.rb:7:in `fetch_details' 

진짜 문제는 그것이 작동하는 데 사용하고 어디에서 중단 점이다. 나는 과거 코드가 작동하는지 아닌지를 확인하기 위해 나의 git 저장소에서 롤백을했다.

올바른 콜백을 지정해도 올바르게 응답하지 않는 것 같습니다. (oauth 확인 후 오류가 발생합니다.)

(즉 저장 모델은 후 실행) 정의의 전체 코드를 확인 :이 모델에

def fetch_details_from_linkedin 
    client = LinkedIn::Client.new(ENV["LINKEDIN_KEY"], ENV["LINKEDIN_SECRET"]) 
    authkeys = [self.token, self.secret] 
    client.authorize_from_access(authkeys) 

    @linkedin = LinkedinUserData.where(user: self.user).first_or_initialize 
    @linkedin.avatar_url = client.picture_urls.all.first 
    @linkedin.profile_url = client.profile.site_standard_profile_request.url 

    @linkedin.save 
end 

각 항목은 'authorize_from_access'방법으로 사용자를 확인하는 데 사용되는 토큰 비밀이있다. 이유는 모르겠지만 콜백이 빈 객체에 응답하고있는 것 같습니다.

내가 이미 생각한 것 : API의 실시간 상태 - CHecked. 그것은 linkedin API에 응용 프로그램의 상태에 관계없이 오류를 제공합니다

콜백 URL : https를 사용하여 이미 확인되었습니다. 내가 말했듯이 콜백이 실행 중입니다. 오류는 내부 오류입니다 (500).

답변

0

방금 ​​개발자의 개발자와 연락하여 버전을 지정하지 않아도 heroku는 github이 이미 0.4.7에 있었기 때문에 이전 버전의 보석을 얻었으며 0.2가되었습니다. 엑스.

그래서 저는 보석 버전을 지정하여이 문제를 해결했습니다. heroku에서 무슨 일이 일어나고 있는지 알지 못하지만, 적어도 문제는 해결되고 linkedin은 다시 권한을 부여합니다.

gem 'linkedin', '0.4.7' 

PS : 당신이 의존성 오류가 발생하는 경우, 당신의 보석 파일에 선언

gem 'hashie', '2.0' 

이 때문에 ominiauth 의존성의 발생을.

관련 문제