메뉴얼을 전부 읽어보고 직접 실사용된 예를 보는것이 이해에 도움이 될거란 생각이 들어 평소에 자주 들르던 사이트에 들어가보았다.

https://ko.warcraftlogs.com/

 

Warcraft Logs - Combat Analysis for Warcraft

블리자드사의 MMO "월드 오브 워크래프트"의 전투 분석을 제공하는 웹 사이트, 와우로그에 오신걸 환영합니다. 전투 기록, 업로드, 정보 분석을 실시간으로 보고 무엇이 문제였는지 그리고 어떻게 고칠수 있는지 확인 하십시오! 업로드. 분석. 개선.

ko.warcraftlogs.com

이 사이트는 검색된 플레이어의 던전/레이드 로그와 현재 착용중인 아이템, 아이템레벨 등을 표기해주는 사이트이다.

많은 공대장들이 이 사이트를 공대원 모집시 해당 플레이어의 역량을 확인하는데에 사용한다.

해당 기능을 제공하는 사이트는 여러 개 있고, 제공하는 정보에는 조금씩 차이가 있다.

(참고: 플레이어의 점수를 계산하는데에 사용되는 레이드/던전 로그는 blizzard api에서 제공하는 정보가 아닌 외부 프로그램에 의해 기록 및 업로드 된다.)

생각보다 많은 소스들이 Blizzard API에서 가져온것이 아니라 wowhead에서 지원하는 리소스를 사용하고 있었다.

페이지 소스를 한참 읽은 후에야 일부에서 blizzard api를 이용한 곳을 찾을 수 있었다.

1339번 라인의 스크립트는 현재 검색된 캐릭터의 초상화를 가져오는 부분이다.

이 초상화는 profile api에서 가져올 수 있다.

다른 사이트에서 제공하는 오픈 api도 많이 있는것같다... 한번 훑어봐야지

open api를 이용해서 뭔가 만들어보려고 한다.

일단 뭔가를 만드려면 흥미가 붙어야 하니 요즘 내가 플레이하는 중인 와우의 데이터를 받아와 만들어볼 생각에 블리자드 게임의 API를 제공해주는 개발자 페이지를 가보았다.

https://develop.battle.net페이지에서 GET STARTED NOW를 누르면 다음 페이지가 나온다.

내 클라이언트 관리 탭 오른쪽의 create client탭에서 내 클라이언트를 생성한 후, 내 client-id와 client-secret을 발급받는다.

나는 open api를 사용해보는것이 처음이니, 매뉴얼부터 차근차근 읽는다. (한글지원이 안돼서 천천---히 읽을 수 밖에...)

 

블리자드 battle.net에서 서비스하는 게임들은 모두 글로벌 서비스를 제공하기 때문에 api를 받아올 때 각 국가 코드와 서버명을 알고 있어야 한다.

생각보다 정리가 잘 되어있어서 순서대로 차근차근 따라하면 된다.

위 예제는 'WoW Token'이라는 아이템의 현재 경매장 가격을 요쳥하는 법에 대해 설명되어있다.

 요약하자면

1. 아이템 가격 요청을 보내기 전, 엑세스 토큰을 받아오는 요청을 한다.

2. 엑세스 토큰을 받아왔다면, 아이템 가격 요청을 보낸다.

 

한번 따라해보자.

postman 프로그램을 이용해서 요청을 보내보자.

key와 value에 각각 위 curl에 적혀있는 대로 넣는다.

client_id : (내가 발급받은 id)
client_secret : (내가 발급받은 secret)
grant_type : curl에 적혀있는 대로 client_credentials

요청을 보내면!

응답이 온다.

access_token이 내가 지금 발급받은 엑세스 토큰이고

token_type은 bearer token

expires_in은 만료 기한이다. 86399는 아마 86399초(하루) 후 만료 된다는 뜻인듯.

 

첫번째 단계가 완료됐다. 이제 두번째 단계인 아이템 가격 요청을 보내보자.

내가 알고싶은건 'kr'서버의 아이템 가격이기 때문에 요청을 넣을때 us를 모두 kr로 바꿔주면 된다.

type은 토큰을 받아올 때 bearer타입이었으니 맞게 설정해주고, token을 붙여넣어주면 아래와 같이 응답이 온다.

price : 1976810000이면 현재 한국 서버 경매장의 와우 토큰 가격은 197681골드라는 뜻이다.

 

 

+ Recent posts