본문으로 바로가기

01 Open API를 배우자 - Open API란?

category Web개발 2013.01.31 09:44

01 Open API 배우기 - Open API란?


관련글

2013/01/31 - [Web개발/Open API] - 02 Open API를 배우자 - Open API 사용 방법



Open API란 말 그대로 API를 Open 해놓는다는 뜻이다.

그럼 먼저 API란 무엇인지 알아보자.


01.API란?

API라는 글자를 보니까 왠지 약자일 것 같은 느낌이 든다. 그래서 찾아 보았다. Application Programming Interface. 어플리케이션 프로그래밍 인터페이스. 말 그대로 어플리케이션을 프로그래밍하기 위한 인터페이스라는거다.

게임을 예를 들어 설명해 보자.

다들 온라인 게임을 해보아서 알겠지만 인터페이스는 온라인상의 내 캐릭터로 몬스터를 때려 잡을 때 사용된다.

몬스터를 때려 잡으려면 먼저 '때려'야 한다. 때리려면 몬스터에게 다가가야 하고, 몬스터를 보아야 한다. 다가가려면 키보드에 앞으로 가는 키 w를 눌러서 몬스터에게 다가가고 몬스터를 보려면 마우스로 시점을 잘 맞추어야 한다.

여기서 w를 누르는 것, 마우스를 움직이는 것이 전부 다 인터페이스다.


흠... 안 다가가도 된다고? 광역 마법 쓰면 된다구?

광역 마법을 쓰려면 내 캐릭터에 광역 마법을 쓰라는 '명령'을 내려야 한다. 광역마법은 내 숫자키 '8'번에 지정이 되어 있다. 그럼 광역 마법을 써 보자.

'8번키'를 눌렀다.

그러면 내 캐릭터는 광역 마법을 쓸 것이고 몬스터가 멀리 있던 보이던 안보이던 광역마법 범위 안에 있으면 마법을 맞고 데미지를 입었을 것이다. 마법 데미지가 몬스터의 체력보다 크거나 같으면 몬스터는 죽을 것이고 작으면 몬스터는 아직 살아 있을 것이다.

여기에서 인터페이스가 쓰였다. 8번키가 인터페이스인거다.

내가 모니터를 쳐다보면서 마음속으로 아무리 '광역 마법을 써라', '광역 마법을 써라' 해도 화면상에 내 캐릭터는 마법을 쓰지 않는다. 8번 키를 눌러야만 마법을 쓰는 것이다.

프로그래밍 언어(java, javascript, jsp 등)는 온라인게임 캐릭터라고 할 수 있고 API는 해당 언어의 스킬(method, function 등)을 사용할 수 있는 '8번 키'와 같은 것이다.


스킬을 잘 조합해서 사용해야 몬스터를 효율적으로 사냥할 수 있듯이 API를 잘 조합해서 사용해야 내가 원하는 기능을 만들어 낼 수 있다.


02.Open API 해보기.

백문이 불여일견이라고 한번 open api가 뭔지 체험 해보자.

http://oceanfog3.mireene.com 로 들어가자. 모바일은 다른페이지를 걸어 놓았으므로 PC로 들어가자.

좌측 상단에 드롭다운 리스트를 눌러서 cywd를 선택한다.

그리고 좌측에 나오는 파일명 중에 request.php를 누르면 Access Token을 받는 Transaction이 실행된다.  자신의 네이트 아이디를 넣고 로그인 해보자. 그러면 Access Token과 Request Token이 발급 된다.

Access Token은 유효기간이 12시간이고 request Token은 유효기간이 30시간이다. 그 시간 내에 좌측에 보이는 파일 리스트 중에 html_viewListView.html을 누른다.

기존이 입력이 되어 있는 것은 내가 넣어 놓은 것이다. 내 일기가 궁금하면 읽어봐도 된다. 어차피 공개니까.

상단에 발급받은 Access Token을 넣고 summit을 누르면 블로그 주인장 다이어리를 볼 수 있는게 아니고 본인들 다이어리를 읽을 수 있다.

이런 식으로 진행되는거다.

 싸이월드 다이어리를 조회하는 기능이다. 다이어리에 글이 없다면 아무것도 안보일 것이다.


03.Open API란?

말 그대로 API를 Open해놓은 것을 말한다.

'API를 열어놓으면 뭐가 어떻다는거지?'라는 질문이 들 수 있다.

예를 들어보자. 일단 필자는 싸이월드에 다이이어리에 5년째 다이어리를 쓰고 있다. 일기 쓰는 것을 좋아한다. 매일 써서 약 1200편 정도가 있다.

그런데 중간에 취직을 했다.(IT회사임 ㅎㅎ) 그런데 회사에서 싸이월드 미니홈피를 띄워 놓고 다이어리를 적고 있으면 어떻게 될지를 생각해 보자. 특히나 내 자리는 전 직원들이 왔다갔다 하면서 내 모니터 화면을 한번씩 다 볼 수 있는 자리이다.

들어온지 3개월도 안된 신입사원이 싸이월드 미니홈피를 띄워놓고 다이어리를 쓰고 있다니!! 하는 소문은 삽시간에 회사로 퍼질 것이고 나는 들어온지 3개월만에 찍힐 것이다.

그렇기 때문에 Open API가 필요하다.

Open API를 이용해서 화면은 Web개발하는 화면인데 기능은 싸이월드 다이어리 읽고 쓰고 수정하는 기능을 갖춘 페이지를 만들 수 있다.

API를 Open해놓지 않으면 싸이월드 미니홈피에 있는 자료들을 이용하려면 http://www.cyworld.com/에 반드시 로그인을 해서 그 화면을 보면서 이용 해야 하지만 Open API를 이용함으로써 '다양한 환경에서 싸이월드 다이어리 서비스'를 이용할 수 있다.


Open API를 이렇게 개인적으로 이용할 수도 있지만 이걸로 핸드폰 앱도 만들 수 있고 '다이어리 백업 서비스'같은 서비스를 개발해서 돈을 받고 팔 수도 있다. 5년동안 쓴 일기 백업 하는데 900원짜리 앱 하나 사서 할 수 있다면 하나 구매하지 않을까?

Open API는 싸이월드만 있는 것이 아니라 Facebook, Twitter, Naver, Daum 등등 메이저 웹 서비스 업체들은 대부분 Open API를 제공하고 있다.


필자는 싸이월드 다이어리 뿐만 아니라 지금 여러분이 보고 있는 Tistory 블로그도 하고 있다.(말은 잘 못하는데 하고 싶은 말이 많으면 이런걸 많이 하는 것 같다) Tistory도 Open API가 있어서 글 보기, 쓰기, 수정, 삭제를 할 수 있다.

Open API 사용 방법은 대동 소이 하다. 다만 개발자들이 얼마나 쉽게 접근 할 수 있는지가 문제일 뿐.









댓글을 달아 주세요

  1. BlogIcon 우수찬 2014.03.26 20:50 신고

    아주좋은 글입니다 이해가 팍팍되네요

    혹시 지비나 리눅스를 주말에 국비지원으로 배울수있는 곳이있나요? 아님 그런과정을 주기적으로 알려주는곳이나.....

    안드로이드앱개발 배우고싶어서요 ㅎㅎ

  2. 미니 2014.06.22 21:33 신고

    진짜 머리에 쏙쏙 들어오는 글이에요! 아쉬운 건 이제 홈페이지가 들어가지지 않네요 흑흑!! 역시 1년 전 글이니까요~.~ 웹서핑중 api가 궁금해져서 이것저것 알아보던 중에 들르게 되어 재미나게 읽었습니다 감사드려요~

  3. BlogIcon 비니 2014.07.16 10:47 신고

    퍼갈게요~~

  4. dbdn 2016.09.26 15:25 신고

    감사합니다

  5. deuces_ 2017.02.08 12:11 신고

    ㅍ ㅓ 갈게욧!!