나같이 난독증(?)이 있는 사람들을 위해 친절한 설명서 하나 만들 수 없는
대한민국 IT의 탑클래스 네이버가 한탄스럽다.
설명은 주구장장 써 놨는데 난 솔직히 잘 이해가 안되고
적용해보려니 막막하다. 그래서 만들어본다.
JAVA 또는 Android에서 Test다.
1. lib
- commons-httpclient-3.1.jar
- commons-codec-1.5.jar
- signpost-core-1.2.1.1.jar
http://code.google.com/p/oauth-signpost/downloads/list
여기서 난 (버전은 다를 수 있음)을 받았다.
httpClient는 urlConnection 사용을 위해
codec 는 encoding/decoding을 위해
signpost는 oauth를 위해
2. consumer key & secret
키 정보인데 naver에서는 key 정보 없이 url을 호출하면 400에러
Server returned HTTP response code: 400 for URL: https://nid.naver.com/naver.oauth?mode=req_req_token return으로 string을 반환하는데 https://nid.naver.com/naver.oauth?mode=auth_req_token&oauth_token=XXXXXXXXX
위 에러 메세지를 볼 수 있다.
그래서 naver개발자 홈의 OAuth에서 애플리케이션을 등록하여
key와 secret를 받은뒤에 작업해야 한다.
제대로 입력을 하면
그다움 다시 호출을 하면
400 for URL: https://nid.naver.com/naver.oauth?mode=req_acc_token
OAuthConsumer consumer = new DefaultOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
String authUrl = provider.retrieveRequestToken(consumer, "https://naver.com");
System.out.println("아래 URL로 가서 사용자 인증을 하시면 인증코드(verifier)를 얻을 수 있습니다.");
System.out.println(authUrl);
String verifier = "0dWJ13PRUtTRLh7Ed3s4060mN2aKZl";
provider.retrieveAccessToken(consumer, verifier);