본문 바로가기

게임/리그오브레전드 - Riot API

리그오브레전드 게임 데이터 수집기 만들기 [4-1화: 데이터 수집기_Riot-API 사용 함수들]

 

 이제 Riot API를 사용하는 함수들에 대해 말씀드릴건데 그 전에 우선 Riot API 사용방법을 알려드리고자 합니다. 우선Riot API 사용 권한이 필요합니다. 1화부터 따라해오신 분들은 이미 권한이 있으실 것입니다. 없으신분은 아래 링크를 참고해서 Riot API 사용 권한을 획득해 주세요.

yanoos.tistory.com/30?category=894635

 

 

 


 

1. 상단의 APIS 버튼을 클릭합니다.


 

 

 

 

 

 

2. 여러 분류의 API들이 있습니다. 제가 주로 사용한건 빨간색 네모 표시를 해둔 MATCH와 SUMMONER 탭에 있었습니다. 눌러보면 우측에 해당 분류에 해당하는 기능들이 나옵니다. 사진상에서는 ACCOUNT가 선택되어있고 ACCOUNT 탭에는 3개의 기능들이 있음을 알 수 있습니다.

 


 

 

 

 

 

 

3. 한번 아무거나 사용해볼까요? SUMMONER 탭의 summoners/byname을 클릭해봅시다. 맨 우측의 중괄호 안에 들어있는 게 요구되는 인풋입니다. summoners/byname에서는 summonerName을 요구하네요. API에 요청한 후 반환되는 자료에 대해 숙지하고 있다면 바로 1번 네모를 눌러서 인풋을 넣으러 가면 됩니다. 그렇지 않다면 2번 3번 네모를 통해 자료에 대해 알아봅시다.

 2번네모를 보니 반환되는 자료의 이름은 SummonerDTO임을 알 수 있습니다. 3번 네모에는 SummonerDTO의 구조에 대한 설명이 나와있습니다. SummonerDTO에는 accountID, profileIconID, summonerLevel등이 있음을 알 수 있습니다.

 SUMMONER 탭에서는 반환되는 자료가 단순한 구조라 괜찮지만 2차원, 3차원 딕셔너리나, 딕셔너리와 리스트가 섞여있는 구조 등 알아보기 힘든 자료들도 많습니다. 그런 자료들은 3번 네모가 여러개인 경우도 많습니다.

 

 '대충보고 지나치는스타일 + 영어못함'의 이유로 3번 네모의 존재를 몰랐었습니다. 그래서 처음엔 복잡한 자료의 구조를 파악하느라 고생했었습니다. 저와 비슷한 분들은 이 글도 길어서 안 볼 수도 있는데 여러분은 그러지 않기를 ㅠㅠ

 

 


 

 

4. Jump to Inputs를 누르거나 스크롤을 맨 아래로 내리면 input을 넣을 수 있습니다(1번 네모). 제가 좋아하는 선수인 SKT T1 페이커 선수의 아이디를 넣어보겠습니다. Execute Request 버튼을 누르면 실행됩니다. 매번 이렇게 웹사이트에 와서 인풋넣고 쓰는 것은 아니고 여기서는 어떤 건지 맛보기를 한다고 생각하시면 될 것 같습니다.

 2번 네모에 있는 URL을 파이썬 코드에 넣어 사용하면 됩니다. 맨 우측에 검정네모는 저의 KEY라서 가렸습니다 ㅎㅎ

 

 

 

 

 

 


5. Response code가 200이면 정상입니다. 뭔가 잘못되면 다른 숫자가 나옵니다. 개발용 키를 사용하기에 요청 제한이 걸려있는데, 너무 많은 요청을 할 경우 429이 뜹니다. 키가 만료되면 403이 뜹니다. 이런 response코드를 알고있으면 오류 해결 코드를 짜는데도 도움이 됩니다. 저는 429와 403만 기억하고 있습니다. 말고는 잘 보이지도 않고 보여도 저절로 해결되곤 했기 때문입니다.

 2번 네모의 Response body를 보면 페이커님의 계정 hide on bush의 정보가 등장합니다. 레벨이 414네요. 맞는지 확인해볼까요?

 OPGG 등 전적검색 사이트를 보면 현시점 기준 페이커님 아이디의 레벨이 414임을 알 수 있습니다. 여러분은 여러분의 아이디로 해보셔도 재미있을 것 같습니다 ㅎㅎ

 

 기능마다 요구하는 인풋이 다릅니다. 소환사의 정보 같은 경우 닉네임보다는 주로 여기서 알아낸 accountId가 많이 사용됩니다.

 

<-이 자료의 경우 단순한 구조지만, 반환되는 자료의 구조는 이거보다는 복잡한 경우가 많습니다. 하지만 여기까지 따라하는데 성공하셨다면 다른 것들도 같은 방법으로 사용하실 수 있습니다. 모두 화이팅입니다!