반응형
라이엇에서 제공하는 API를 이용하여 간단한 전적검색 사이트를 만들어보자.
먼저 전에 작성한 글(http://hides.kr/370) 을 참고하여 API Key를 발급받는다.
그 다음 레벨/티어 등 기본적인 정보를 받아오는 API를 살펴봐야하는데 해당 API는 사용자의 닉네임이 아닌
닉네임을 통해 받아온 ID를 기준으로 값을 넘겨준다.
먼저 아래 URL을 통해 검색하고자 하는 사용자의 ID를 알아보자.
https://kr.api.pvp.net/api/lol/kr/v1.4/summoner/by-name/사용자닉네임?api_key=API키
ID값을 알아냈으면 이제 사용자에 대한 정보를 제공해주는 API를 통해 정보를 받아오자.
https://kr.api.pvp.net/api/lol/kr/v2.5/league/by-summoner/사용자ID/entry?api_key=API키값
필요한 부분을 모두 뽑아냈으므로 이제 PHP로 작성해보자.
cURL을 사용할것이기 때문에 아래의 코드를 상단에 선언해준다.
function httpGet($url) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); // curl_setopt($ch,CURLOPT_HEADER, false); $output=curl_exec($ch); curl_close($ch); return $output; }
Response가 json형태로 오므로 decode를 해줘야 한다.
$get_id = json_decode(httpGet("https://kr.api.pvp.net/api/lol/kr/v1.4/summoner/by-name/".$username."?api_key=".$api_key), true); $userid = $get_id[$username]['id']; // ID $nick = $get_id[$username]['name']; // 닉네임 $level = $get_id[$username]['summonerLevel']; // 레벨 $profileIcon = $get_id[$username]['profileIconId']; // 프로필아이콘번호
다음으로 티어/전적 등의 정보를 받아오자.
$status = json_decode(httpGet("https://kr.api.pvp.net/api/lol/kr/v2.5/league/by-summoner/".$userid."/entry?api_key=".$api_key), true); $tier = $status[$userid][0]['tier']; // 티어 $division = $status[$userid][0]['entries'][0]['division']; // 상세 티어 $point = $status[$userid][0]['entries'][0]['leaguePoints']; // 리그포인트 $win = $status[$userid][0]['entries'][0]['wins']; // 승 $lose = $status[$userid][0]['entries'][0]['losses']; // 패
인게임 기능을 포함한 full source
'Coding > Etc' 카테고리의 다른 글
PHP 파일업로드 (0) | 2017.01.15 |
---|---|
PHP 파싱 (1) | 2016.06.01 |
Cannot use object of type stdClass as array 에러 (0) | 2016.02.27 |
php json 처리 (0) | 2016.02.27 |
PHP curl (0) | 2016.02.26 |