개발일지

[UniUnity 개발일지] 3. 공공데이터 오픈 API 사용하기 1

Ji0_ 2023. 7. 6. 15:19

공공데이터포털에 있는 '소상공인시장진흥공단_상가(상권)정보_API' 를 통한 공공데이터 사용 방법

 


우선 공공데이터포털의 OPEN API를 사용하고자한다면 로그인 후 "활용 신청"을 해야한다.

사유 같은걸 작성하라고는 따로 심사는 없이 인증키를 발급해준다.

OPEN API의 사용가이드도 한글파일로 제공해주기 때문에 참고하면서 사용하면 좋을 듯 하다.

이런 식으로 하나의 API를 활용 신청하면 그에 해당하는 상세기능들이 나오는데 이걸 활용하려면 제공해주는 가이드는 필독해야 할 듯...

우선 request를 사용하기 위해 아래 명령어를 통해 request 모듈을 다운받아준다.

npm install request --save

그리고 나서는 자신이 사용하고자는 데이터가 형식이 어떻게 되는지 살펴보고자 나는 위 상세정보기능의 미리보기를 통해서 url을 어떤 식으로 주는지 확인했다.

이 사진처럼 json 형식의 데이터가 제공받아지는데,

https://apis.data.go.kr/(OPEN API에 따른 End Point)/storeZoneOne?serviceKey=(발급받은 KEY)&key=9174&type=json

형식으로 제공되며 이를 요약하면 다음과 같다.

(1.https로 시작하는 End Point)/(2. 오퍼레이션명)?(3. serviceKey)&(4. key)&(5. type=json)

key에 해당하는 상호번호를 출력하기 위해서 main.js(혹은 app.js)로 사용되는 js파일에 다음과 같이 입력해준다.

const express = require("express");
const app = express();

const request = require('request');
const serviceKey = '발급받은 인증 KEY';
const endPoint = '해당 API의 End Point 주소';

let operation = 'storeZoneOne';
let key = '&key=9174';
const type = '&type=json';

let test = endPoint + operation + serviceKey + key + type;

app.get('/retailer', function(req, res){
    request(test, function(error, response, body){
      if(error){
        console.log(error)
      }
      let obj = JSON.parse(body);
      // 콘솔에 찍어보기
      console.log(obj.body.items[0].trarNo);
    })
  })

app.listen(3000,()=>{
    console.log(`Server start.`);
})

 

이후에 서버를 실행하여 localhost:3000/retailer에 접속하면 console에 해당 9174에 해당하는 상호번호를 출력하도록 하였다.

공공데이터의 경우 공공데이터포털에서 정보를 제공하긴 하지만 API별로 관리하는 주체가 다 다르고, 또한 API도 주기적으로 업데이트를 하는 경우가 있기 때문에 본인이 사용하는 때와 어떤 OPEN API인지를 잘 보고 연습해가며 형식을 바꿔야 할 것 같다.