2011-04-07 5 views
2

LinkedIn API를 사용하려면 요청 토큰을 받아야합니다.OAuth 인증 - 요청 설정 TK

I가 (POST에 의해)이 요청을 보내려고 해요 :

'oauth_callback' => 'http://www.myserver.com/tokenReturned', 
'oauth_consumer_key' => '---', 
'oauth_consumer_secret' => '---', 
'oauth_nonce' => uniqid(time(), TRUE), 
'oauth_signature_method' => 'PLAINTEXT', 
'oauth_signature' => '---', 
'oauth_timestamp' => time(), 
'oauth_version' => '1.0' 

어쨌든 이러한 매개 변수와 함께

https://api.linkedin.com/uas/oauth/requestToken 

, 링크드 서버는 HTTP 100 응답이 메시지입니다 :

oauth_problem=parameter_absent&oauth_parameters_absent=oauth_consumer_key&oauth_signature_method&oauth_signature&oauth_timestamp&oauth_nonce 

내가 뭘 잘못하고 있니? 어떤 매개 변수가 누락 되었습니까?

매개 변수가 POST 매개 변수가 아닌 HTTP 헤더를 통해 보내야합니까?

+0

'consumer_secret'을 보내지 않으 셨습니다. 그 외에도 모든 것이 완벽하게 보입니다 ...이 코드를 보내는 방법을 전체 코드로 게시 할 수 있습니까? 어쩌면 서명이나 다른 것을 생성하는 데 실수가 있습니다 ... – Slava

+1

헤더로 보내보십시오. 그들의 문서는 어떤 예제도 제공하지 않지만, 보통 사람들은'Authorization' 헤더에'oauth_ *'값을 보냅니다. – Slava

+0

[this] (http://code.google.com/p/simple-linkedinphp/)가 도움이 될 수 있습니다. – Slava

답변

1

매개 변수는 "Authorization"HTTP 헤더로 보내야합니다.

POST https://api.linkedin.com/uas/oauth/requestToken HTTP/1.1 
Authorization: OAuth oauth_callback="http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin", oauth_consumer_key="YOUR_KEY", oauth_nonce="SOME_NOUNCE", oauth_signature="YOUR_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="YOUR_TIMESTAMP", oauth_version="1.0" 
Host: api.linkedin.com 
Connection: Keep-Alive 

주 몇 가지 : 예를 들어

  • 당신은
  • 콜백 URL이 여기

더 많은 정보를 사용할 인코딩 할 필요가 비밀 OAuth 고객을 전송해서는 안됩니다 : http://developer.linkedin.com/docs/DOC-1245