맞춤형 API 상세

문체부 기관 공연정보

  • URL

    http://api.kcisa.kr/API_CNV_053/request

  • 설명

    문화체육관광부 대표 누리집의 '문화예술공연' 게시판을 통해 제공되는 정보로 연극, 뮤지컬, 오페라, 음악, 콘서트, 국악, 무용, 전시, 기타 등 각 분야의 문화예술공연 목록 정보를 통합 제공하고 있습니다.

  • 기관명

    문화체육관광부,

    갱신주기

    상시

  • 서비스 분야/주체

    API유형

    REST@

  • 등록일

    Jan 24, 2022

    활용도

    850

오픈 API

요청인자

요청인자 상세표
변수명 타입 변수설명 필수여부
serviceKey string
서비스키

true
numOfRows string
세션당 요청레코드수

false
pageNo string
페이지수

false
keyword string
검색어

false

출력 값

출력 값 상세표
No 변수명 출력설명
1 title 제목
2 description 설명
3 viewCount 조회수
4 url URL
5 imageObject 이미지(썸네일)
6 localId 원천기관자료식별자
7 sourceTitle 참조자원제목
8 eventSite 행사정보
9 type 유형
10 contactPoint 문의안내
11 charge 유료/무료
12 audience 관객등급나이
13 period 기간

메시지 설명

메시지 설명 상세표
0000 정상 처리
F2013 서비스 주소 호출 실패
9999 서비스 점검중(내부 서비스 호출 장애)

활용 명세

샘플 데이터

>샘플 데이터 상세

샘플코드

/* Java Sample */
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.BufferedReader;
import java.io.IOException;

public class openApi {
public static void main(String[] args) throws IOException {

StringBuilder urlBuilder = new StringBuilder("http://api.kcisa.kr/API_CNV_053/request"); /*URL*/
urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "=서비스키"); /*서비스키*/
urlBuilder.append("&" + URLEncoder.encode("numOfRows","UTF-8") + "=" + URLEncoder.encode("세션당 요청레코드수", "UTF-8")); /*세션당 요청레코드수*/
urlBuilder.append("&" + URLEncoder.encode("pageNo","UTF-8") + "=" + URLEncoder.encode("페이지수", "UTF-8")); /*페이지수*/
urlBuilder.append("&" + URLEncoder.encode("keyword","UTF-8") + "=" + URLEncoder.encode("검색어", "UTF-8")); /*검색어*/

URL url = new URL(urlBuilder.toString());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("GET");
conn.setRequestProperty("Content-type", "application/json");
System.out.println("Response code: " + conn.getResponseCode());

BufferedReader rd;
if(conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) {

rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

} else {

rd = new BufferedReader(new InputStreamReader(conn.getErrorStream()));

}

StringBuilder sb = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {

sb.append(line);

}
rd.close();
conn.disconnect();
System.out.println(sb.toString());

}

}
/* Javascript Sample*/
var xhr = new XMLHttpRequest();
var url = 'http://api.kcisa.kr/API_CNV_053/request'; /*URL*/
var queryParams = '?' + encodeURIComponent('serviceKey') + '=' + '서비스키'; /*서비스키*/
queryParams += '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent('세션당 요청레코드수'); /*세션당 요청레코드수*/
queryParams += '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent('페이지수'); /*페이지수*/
queryParams += '&' + encodeURIComponent('keyword') + '=' + encodeURIComponent('검색어'); /*검색어*/

xhr.open('GET', url + queryParams);
xhr.onreadystatechange = function () {
if (this.readyState == 4) {

console.log('status: ' + this.status);
console.log('resultCode: ' + $(this.responseText).find('resultCode').text());
console.log('resultMsg: ' + $(this.responseText).find('resultMsg').text());

var item = $(this.responseText).find('item');
$(item).each(function(){

console.log("title" + $(this).find("title").text());
console.log("description" + $(this).find("description").text());
console.log("viewCount" + $(this).find("viewCount").text());
console.log("url" + $(this).find("url").text());
console.log("imageObject" + $(this).find("imageObject").text());
console.log("localId" + $(this).find("localId").text());
console.log("sourceTitle" + $(this).find("sourceTitle").text());
console.log("eventSite" + $(this).find("eventSite").text());
console.log("type" + $(this).find("type").text());
console.log("contactPoint" + $(this).find("contactPoint").text());
console.log("charge" + $(this).find("charge").text());
console.log("audience" + $(this).find("audience").text());
console.log("period" + $(this).find("period").text());

});

};

}
xhr.send('');