본문 바로가기
Coding/Etc

API를 이용한 롤 전적검색 사이트 만들기

by Hide­ 2016. 2. 27.
반응형







라이엇에서 제공하는 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

lolol.txt


'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