반응형
라이엇에서 제공하는 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 |
lolol.txt