본문 바로가기

개발/NODE

NODE를 이용하여 LOL API 호출

1. LOL API란?


말 그대로 LOL에 나오는 정보들을 LOL API를 통해 JASON 형태로 받아 볼수 있습니다.

우리가 흔히 가보는 전적 사이트나 LOL 게임 정보 사이트들도 이 데이터를 기반으로 만들었으리라 생각됩니다.

아래는 아주 간단히 소환사명으로 해당 소환사의 고유 ID나 아이콘 같은 정보들을 받아볼 생각입니다.

LOL API 사이트 - https://developer.riotgames.com/


진행하기 앞서 포스팅 날짜는 2016. 03. 11. 입니다. 

혹시나 API 사이트 개편으로 하기 내용과 실제 사이트가 다를 수도 있으니 당황하지 마시길,..



2. LOL API 로그인


사이트 메인에서 우측 상단 SIGN IN 클릭 




LOL 게임할때 쓰는 계정으로 로그인 하시면 됩니다. 한국 계정이면 Region은 korea로 선택하셔야 합니다.





3. LOL API 소환사 정보 찾기


로그인 하시고 API DOCUMENTATION -> FULL API 



소환사의 정보를 보기로 했으니 SUMMONER API를 눌러봅니다.

여러개의 API가 나오는데 한개 빼고는 다 고유 아이디로 찾습니다.

우리는 소환사의 고유 아이디를 모르니까 당연히 소환사명으로 찾기 위해 summonername이 있는 첫번째 API로...




해당 API로 들어가보면 친절하게 가이드가 되어 있어서 처음 접해도 어떻게 쓸지 정도는 알 수 있을겁니다. 

아래를 보면 소환사명을 입력하라는 소리 같죠?  페이커 선수의 부계정인 "hide on bush"를 입력하고 

EXECUTE REQUEST를 클릭하여 LOL API로 해당 소환사의 정보를 요청해봅니다.




LOL API에서 응답이 왔습니다. 아래에 나온 Request URL을 그냥 일반 브라우저에서 입력해도 해당 정보를 받아 볼수 있습니다.

여기서 중요한것은 api_key 입니다. 사진에서는 제가 모자이크로 처리한 부분인데 각각의 계정에는 api_key를 발급 받게 되고

해당 api_key와 함께 호출을 해야지 LOL API와 통신을 할 수가 있습니다. (이 key를 기준으로 API 호출을 제한하고 관리 하겠죠.)

Response Body 부분이 LOL API에서 받은 해당 소환사에 대한 정보입니다. 





4. NODE로 요청해보기.


그럼 구상은 이미 다 끝난겁니다. 위에서 봤던 가이드대로 LOL API 서버로 해당 URL 호출만 하면 끝나겠죠?

아래처럼 구현하였습니다. 엄청 심플하죠? 구글에 검색 하면 다 나오더군요. 


1. 노드 실행 시 소환사 명을 입력 받는다.

2. 해당 소환사 명과 api_key로 url을 조합해서 lol api로 호출한다.

3. lol api에서 보내준 json 형태의 정보를 콘솔창에 뿌린다.



node 실행 및 결과값

$node lol_api_req_summoner.js "hide on bush"

id : 4460427 name : Hide on bush profileIconId : 6 summonerLevel : 30 revisionDate : 1457636898000


API 사이트에서 호출햇던 정보와 일치하는걸 확인할 수 있습니다.

이렇게 다른 API들도 활용하셔서 정보를 DB에 저장하시거나 활용하시면 됩니다.

API 가이드가 잘 정리 되어 있어서 테스트로 이것저것 호출해보시고 실제로 구현하면 될것 같습니다.




잘못된 정보는 바로 지적해 주세요.