2017-05-01 6 views
0

linkedIn에서 API 응용 프로그램을 만들었으므로 클라이언트 ID와 클라이언트 비밀 키가 있습니다. 그러나 LinkedIn에서 액세스 토큰 및 비밀 키를 가져올 수 없습니다.파이썬을 사용하여 LinkedIn에서 클라이언트 ID와 클라이언트 비밀 키를 얻은 후 액세스 토큰과 액세스 비밀을 얻는 방법은 무엇입니까?

저는 아래의 python 코드를 사용하여 작업을 수행했습니다. 모든 것이 잘 작동하고 'authorization_url'이 표시되지만 브라우저에 붙여 넣을 때 오류가 발생합니다 : 'invalid redirect_uri.이 값은 API 키에 등록 된 URL과 일치해야합니다.'

*** 내 애플리케이션의 '인증 된 리디렉션 URL'섹션이 비어 있고 내 질문은 내가 입력해야하는 것입니다. 내 코드 아래에 OAuth2Session 함수 ("http://127.0.0.1"와 같은 "arbitrary_url"대신)에서 피드하는 것과 동일해야 함을 이해합니다. 그러나이 URL을 가져올 위치에 대한 단서가 없습니까?

Snapshot of my authorization_url page

*** 내가 정확히 단계별로 무엇에 명확히하려면 : 1) 내 API 응용 프로그램에서 "공인 리디렉션 URL을"텍스트 상자에 URL을 추가하고 "추가"를 클릭합니다. 2) 그런 다음 코드에서 "arbitrary_url"을 정확하게 동일한 URL로 바꿉니다. 3) 내 코드를 계속 실행하여 "redirect_response"를 얻으십시오. 4) 브라우저에서 "redirect_response"를 시도하십시오. 지금까지 나는 항상 "redirect_uri가 유효하지 않습니다.이 값은 API 키로 등록 된 URL과 일치해야합니다."라는 오류가 발생했습니다.

감사합니다.

# Import packages 
from requests_oauthlib import OAuth2Session 
from requests_oauthlib.compliance_fixes import linkedin_compliance_fix 

# Credentials you get from registering a new application 
client_id = '<my client id>'; client_secret = '<my client secret>' 

# Redirect user to LinkedIn for authorization 
linkedin = OAuth2Session(client_id, redirect_uri='<arbitrary_url>') 
linkedin = linkedin_compliance_fix(linkedin) 
authorization_url, state = linkedin.authorization_url('https://www.linkedin.com/uas/oauth2/authorization') 
print(authorization_url) 

마침내 나는 첫 단계에서 실수를 범했습니다. 제가 누락 된 부분은 응용 프로그램에서 "추가"를 클릭 한 후 "업데이트"를 클릭하여 추가 작업을 수행해야한다는 것입니다. 그러나 인증 후 오류가 발생하여 클라이언트 ID와 클라이언트 비밀 번호가 아직 없습니다.

+0

redirect_uri = 'http : // 127.0.0.1'을 리디렉션 URL로 설정했습니다. API 애플리케이션을 만들 때 제공 한 리디렉션 URL은 무엇입니까? 올바른 auth_url을 얻으려면 여기에 동일한 URL을 제공해야합니다. –

+0

시간 내 주셔서 감사합니다. @Venkatesh! 앞서 언급했듯이 https://www.linkedin.com/developer/에서 내 응용 프로그램의 클라이언트 ID와 클라이언트 비밀 만 가져 왔으며 응용 프로그램의 "인증 된 리디렉션 URL"섹션에 무엇을 추가할지 모릅니다. 문서에서 "https://www.example.com/auth/linkedin"형식이어야합니다. 어떤 아이디어 나 제안을 URL에 추가해야합니까? 어떻게 그 URL을 얻을 수 있습니까? –

+0

일반적으로 'https : // www.example.com/auth/linkedin'과 같은 것을 추가 할 수 있습니다. 무엇을 줄지 모르는 경우에는 http : // localhost : 8080과 같이 작동하는 것을 제공하십시오. 거기에서 뭔가를 실행하여 인증 후에 성공적으로 얻을 수 있었는지 알 수 있도록하십시오. 귀하의 파이썬 코드에서 동일한 가치를 가져야합니다. Oauth 응용 프로그램에서 여러 개의 리디렉션 URL을 가질 수 있습니다. –

답변

0

샘플 https://github.com/ozgur/python-linkedin을 참조하십시오. 코드에서 redirect_url과 일치하도록 누락 된 것을 확인했습니다. 더 많은 샘플과 설명은 여기 http://requests-oauthlib.readthedocs.io/en/latest/examples/linkedin.html

+0

많은 감사합니다 @VenkateshMarepalli! 마지막으로 나는이 단계를 통과했지만 아직 액세스 토큰과 액세스 키를 얻지 못했습니다. 이제 내 개인 링크 된 사용자 이름과 암호를 묻는 메시지가 나타납니다. 하지만 "액세스 허용"을 클릭하면 오류가 발생합니다. 이 사이트에 접속할 수 없습니다 : https://www.example.com/auth/linkedin?code=MY_CODE&state=xbt0gRdGROIOeqI9nAwilGA44r0G7e#의 웹 페이지에 접속하십시오. 일시적으로 중단되었거나 새 웹 주소로 영구적으로 이동했을 수 있습니다. ERR_INVALID_RESPONSE. 이것에 관해 당신은 무엇을 조언 할 것이냐? –

+0

당신은 더미 URL 리다이렉트 URL을 준다고 생각합니다. 작동하는 URL로 테스트하십시오. –

+0

완전히 이해하면 확실하지 않습니다! 내가 제안한대로 [this redirect url] (https://www.example.com/auth/linkedin)을주었습니다. 이것이 더미 파일 인 경우, ** working URL **로 무엇을 넣어야합니까? –