파이썬으로 메이플 유저 기본정보 조회하는 방법

파이썬으로 메이플 유저의 기본정보를 조회하는 API를 호출하는 방법에 대해서 적어보고자 한다.

 

우선, 기본정보를 조회하는 API는 조회하고자 하는 캐릭터의 ocid(캐릭터 고유 식별자)가 필요하다.

 

캐릭터의 ocid를 구하는 방법은 이전 포스팅의 후반부에 기재했으니, 참고하여 ocid을 먼저 구해야 한다.

 

[기술 리뷰/소프트웨어] - 파이썬으로 메이플 Open API 사용하는 방법

 

파이썬으로 메이플 Open API 사용하는 방법

넥슨에서는 인기게임의 다양한 데이터를 활용할 수 있도록, Open API를 제공하고 있다. Open API는 Java, Java Script, Python 등 다양한 언어로 사용할 수 있다. 이번 포스팅에서는 가장 간단하고 인기 있는

proefforter.tistory.com

 

기본정보 조회 API

 

기본정보 조회 API 도큐먼트

 

일단, 넥슨 Open API의 메이플 API 도큐먼트를 참고해 보자.

 

기본정보를 조회하는 API인 '/maplestory/v1/character/basic'를 찾아 클릭하면, 해당 API에 대한 정보가 기재되어 있다.

 

기재된 파라미터에 대해 설명을 기재하자면, 아래 테이블과 같다.

 

파라미터 설명
x-nxopen-api-key 발급받은 넥슨 Open API 키이다.
ocid 캐릭터 고유 식별자 값이다.
date 조회 기준일으로 [0000-00-00] 형식 문자열로 입력하면 된다.
(단, 조회 기준일은 당일은 불가능하니 가장 최신정보를 가져오고 싶다면 어제 날짜로 한다.)

 

 

코드 작성

 

import requests

headers = {
  "x-nxopen-api-key": "[발급받은 API 키]"
}

characterName = "단솜"
urlString = "https://open.api.nexon.com/maplestory/v1/id?character_name=" + characterName
# '단솜' 유저를 대상으로 ocid 값을 구한다.
response = requests.get(urlString, headers = headers)

# 조회한 ocid 값을 변수에 저장한다.
ocid = response.json()['ocid']

# 단솜유저의 ocid값과 조회 기준일을 파라미터로 넘겨, 기본정보 조회하는 API를 호출
urlString = "https://open.api.nexon.com/maplestory/v1/character/basic?ocid=" + ocid + "&date=2024-01-22"
# 단솜유저의 기본정보 조회 결과값 저장
response = requests.get(urlString, headers = headers)

# 기본정보 출력
print(response.json())

 

메이플 캐릭터의 기본 정보를 조회하는 파이썬 코드는 위와 같다.

 

해당 코드를 복사한 뒤, 자신의 API 키값만 headers안에 기입하면 정상적으로 '단솜'유저의 기본정보를 가져온다.

 

비교적 짧은 코드이니, 기재한 주석을 참고하면 빠르게 이해할 수 있다.

 

컴파일 결과

 

컴파일 결과

 

코드를 컴파일하면, 위와 같이 조회한 유저의 기본정보가 콘솔창에 출력된다.

 

출력되는 데이터의 길이가 길기 때문에, 모든 정보를 한눈에 볼 수 없다.

 

출력되는 정보를 도큐먼트를 참고하여 정리하자면, 아래와 같다.

{
  "date": "2023-12-21T00:00+09:00",
  "character_name": "string",
  "world_name": "string",
  "character_gender": "string",
  "character_class": "string",
  "character_class_level": "string",
  "character_level": 0,
  "character_exp": 0,
  "character_exp_rate": "string",
  "character_guild_name": "string",
  "character_image": "string"
}

 

각 데이터에 대한 설명은 아래 테이블과 같다.

 

데이터 타입 설명
date 조회 기준일
(파라미터로 입력했던 조회 기준일과 같다.)
character_name 캐릭터 명
world_name 월드 명
character_gender 캐릭터 성별
character_class 캐릭터 직업
character_class_level 캐릭터 전직 차수
character_level 캐릭터 레벨
character_exp 현재 보유한 경험치의 양
character_exp_rate 현재 경험치 퍼센트율
character_guild_name 소속 길드명
character_image 캐릭터 이미지

 

 

 


 

궁금한 사항이나 질문, 피드백 등 의견을 댓글로 남겨주시면 답변드리겠습니다.

감사합니다.