본문 바로가기
Unity/수업내용

[RestAPI]공공데이터 OpenAPI 데이터 활용하기

by 왹져박사 2024. 7. 19.

공공데이터포털 (data.go.kr)

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

공공데이터 포털에 가입하여 OpenAPI를 활용신청하면 데이터를 활용할 수 있는 인증키와 기술 문서를 받을 수 있다. 

수업 전 주에 신청하는 것을 잊고 수업 5분 전쯤 신청하였는데 1분도 안되어서 승인받았다..!

 

요즘 심각하던 대기오염정보를 신청하였다. 

 

위에서 활용할 정보 기능에 맞추어 기술 문서를 보며 스크립트를 작성하면 된다. 

기술 문서에는 위의 5가지 정보만 나온 것이 아니라 항목을 잘 살펴보고 맞는 정보를 활용하면 된다. 

 

예시는 기술 문서의 url이며 위의 미리보기 '확인'을 눌러 나오는 url을 복사하여도 된다. 

이에 맞춰 항목을 구분하고 기술문서를 잘 참고하여 필요한 정보를 입력한다. 

public class PublicDBManager : MonoBehaviour
{
    //예시
    //http://apis.data.go.kr/B552584/ArpltnInforInqireSvc/getMinuDustWeekFrcstDspth?
    //searchDate=2020-11-09&
    //returnType=xml&
    //serviceKey=서비스키&
    //numOfRows=100&
    //pageNo=1

    public string URL = "http://apis.data.go.kr/B552584/ArpltnInforInqireSvc/getMinuDustWeekFrcstDspth?";
    public string searchDate;
    public string returnType;
    public string serviceKey;
    public string numOfRows;
    public string pageNo;

    IEnumerator Start()
    {
        URL += string.Format("searchDate={0}&returnType={1}&serviceKey={2}&numOfRows={3}&pageNo={4}",
            searchDate, returnType, serviceKey, numOfRows, pageNo);

        UnityWebRequest www = UnityWebRequest.Get(URL);
        yield return www.SendWebRequest();

        string data = www.downloadHandler.text;
        Debug.Log(data);
    }
}

 

제대로 연결이 안 되었나 싶지만 NORMAL_CODE 결과를 보니 잘 된 듯하다. 

 

 

어제 날짜로 하니 관측 결과가 잘 나오는 모습!

 

 

이를 실제로 또 활용하려면 json파일을 역직렬화하는 과정이 필요하다. 

분명 4-1 프로젝트에서는 newtonsoft json 에셋을 설치하여 사용하였는데, 이 날 보니 에셋스토어에 없었다. 

홈페이지로 찾아가 보니 홈페이지에서는 다운로드할 수 있었다!

'Unity > 수업내용' 카테고리의 다른 글

[Unity/UGS] Cloud Save로 데이터 저장/불러오기  (0) 2024.07.19
[Unity/프로파일링] 프로파일러들  (0) 2024.07.19
[Unity 3D] IK 역운동학  (0) 2023.05.22
[Unity UI] 2일차 Slider  (0) 2023.02.20
[Unity UI] 1일차 Menu  (0) 2023.02.06