brunch

You can make anything
by writing

- C.S.Lewis -

by 한상훈 Jul 06. 2018

[번역] 구글 API 클라이언트 라이브러리 - 6

API 발견문서(API Discovery Document)

저는 에어데스크라는 확장 프로그램을 만들고 있습니다. 새로운 기능을 만드는데 API 문서를 읽다가 이곳저곳 영어로 읽다보니 정리가 안 되는것 같아 통째로 번역했습니다. 번역은 크게 틀리진 않았을 겁니다만 혹시라도 이상한 부분을 찾으시면 댓글로 알려주세요!


첫번째 글: [번역] 구글 API 클라이언트 라이브러리 - 1

두번째 글: [번역] 구글 API 클라이언트 라이브러리 - 2

세번째 글: [번역] 구글 API 클라이언트 라이브러리 - 3

네번째 글: [번역] 구글 API 클라이언트 라이브러리 - 4

다섯번째 글: [번역] 구글 API 클라이언트 라이브러리 - 5


원문 링크:




API 발견문서

API 발견문서는 API의 특정 버전의 surface를 묘사합니다. API의 이름, 버전, 설명과 리소스 스키마, 메소드, 권한부여 조건 등의 정보를 담고 있습니다. 자바스크립트 클라이언트 라이브러리는 애플리케이션이 사용할 수 있는 자바스크립트 메소드와 일치하는 정보들을 생성하기 위해 사용합니다. 


API의 발견문서 URL 찾기

API가 명시적으로 발견 URL을 문서화하면, 항상 그대로 사용하여 JavaScript 클라이언트 라이브러리에 로드하십시오.


예를 들면 피플 API는 자신의 발견 URL을 아래처럼 문서화합니다.

https://people.googleapis.com/$discovery/rest?version=v1


이 URL을 당신의 자바스크립트 클라이언트에 로드할 때 사용하세요. 만약 발견 URL이 API 문서에서 찾을 수 없다면, API 이름과 API 버전을 아래와 같이 사용하여 디폴트 발견 URL을 만들 수 있습니다.

https://www.googleapis.com/discovery/v1/apis/name/version/rest


예를 들면 Translate API v2의 발견 URL은 아래와 같습니다.

https://www.googleapis.com/discovery/v1/apis/translate/v2/rest

자세한 사항은 구글 API 발견 서비스를 확인하세요.


생성된 메소드 발견하기

API 발견 문서를 로드하고 난 후엔 자바스크립트 클라이언트 라이브러리는 API 메소드와 상호작용할 자바스크립트 메소드를 자동적으로 생성합니다. 각각의 메소드는 API 발견 문서 안에서 정의되었으며, gapi.client 오브젝트를 통해 구성되었습니다.


예를 들면 피플 API의 메소드는 gapi.client.people 아래에 있습니다. 피플 API는 people.get과 people.connections.list와 생성된 메소드를 가지며, 아래와 같이 호출할 수 있습니다.

gapi.client.people.people.get(...)

gapi.client.people.people.connections.list(...)


당신은 API 탐색기에서 API 메소드를 볼 수 있습니다. 또는 생성된 메소드를 브라우저 콘솔에서 console.log(gapi.client.people)로 프린트하여 볼 수 있습니다.



Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Java is a registered trademark of Oracle and/or its affiliates. 

한상훈 소속에어데스크 직업CEO
구독자 4,317
매거진의 이전글 [번역] 구글 API 클라이언트 라이브러리 - 5

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari
;