외부 API

Google Apps Script는 웹 전체에 있는 API와 상호작용할 수 있습니다. 이 가이드 은 스크립트에서 다양한 유형의 API로 작업하는 방법을 보여줍니다.

공개 API에 연결

UrlFetch 서비스를 사용하여 API를 직접 요청합니다

다음 예에서는 GitHub API를 사용하여 'Apps Script'를 언급하고 별표가 100개 이상인 저장소를 검색합니다. 이 API 요청에는 승인 또는 API 키가 필요하지 않습니다.

var query = '"Apps Script" stars:">=100"';
var url = 'https://api.github.com/search/repositories'
  + '?sort=stars'
  + '&q=' + encodeURIComponent(query);

var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
Logger.log(response);

OAuth를 사용하여 서비스에 요청하기

사용자를 대신하는 API는 일반적으로 승인이 필요하며, OAuth 프로토콜. Apps Script에서는 기본 제공 이 프로토콜에 대한 지원이 제공되지만, 이 과정에서 문제 해결에 도움이 되는 OAuth 흐름을 수행하고 요청과 함께 사용자 인증 정보를 전송합니다.

JSON 작업

JSON 객체로 작업하는 것은 XML로 작업하는 것과 비슷하지만 JSON 객체를 파싱하거나 인코딩하는 것이 훨씬 쉽습니다.

요청 중인 API가 요청에 대해 원시 JSON 응답을 반환하는 경우 JSON은 문자열 응답은 HTTPResponse.getContentText() 이 문자열을 가져온 후에는 문자열에서 JSON.parse()를 호출하여 네이티브 객체 표현을 지원합니다.

// Make request to API and get response before this point.
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data.title);

마찬가지로, 요청하려면 JSON.stringify()를 사용하세요.

var data = {
  'entry': {
    'group': {
      'title': 'Dog Skateboarding',
      'description': 'My dog gets some serious air'
    },
    'keywords': 'dog, skateboard'
  }
}
var payload = JSON.stringify(data);
// Make request to API with payload after this point.

XML 구문 분석

외부 API가 요청에 대해 원시 XML 응답을 반환하는 경우 메서드를 사용한 XML 응답 HTTPResponse.getContentText()

// Make request to API and get response before this point.
var xml = response.getContentText();
var doc = XmlService.parse(xml);

API에 XML을 요청할 때는 XmlService 메서드를 사용하여 전송할 XML을 작성합니다.

var root = XmlService.createElement('entry')
    .setAttribute('keywords', 'dog, skateboard');
var group = XmlService.createElement('group')
    .setAttribute('title', 'Dog Skateboarding');
    .setAttribute('description', 'My dog gets some serious air');
root.addContent(group);
var document = XmlService.createDocument(root);
var payload = XmlService.getPrettyFormat().format(document);
// Make request to API with payload after this point.