GoogleAppsScript(GAS) 함수를 API로 게시하고 터미널에서 실행하는 방법

5891 단어 GoogleAppsScriptgas

개요



GAS로 만든 함수를 API로 게시합니다. makefile 에서 curl 로 API 를 호출해, 터미널로부터 실행하는 순서에 대해 정리한다.

아티팩트



name, hp, attack 열이 있는 스프레드시트에 makefile에 지정된 값 추가

        ↓


전제 지식



GoogleAppsScript (GAS)에서 "Hello World"하는 방법

전체상





절차



GAS로 함수 만들기



스프레드시트의 도구 → 스크립트 편집기에서 다음 코드 작성
시트명은 「monsters」로 한다

.gas
const doPost = (e) =>{
  const data = {
   name:e.parameter.name,
   hp:e.parameter.hp,
   attack:e.parameter.attack
 }

  appendMonster(data);
  return ContentService.createTextOutput("OK!")
}

const appendMonster = (data) => {
  const spreadSheet = SpreadsheetApp.getActive();
  const monstersSheet = spreadSheet.getSheetByName("monsters")
  monstersSheet.appendRow([data.name,data.hp,data.attack]);
}

통신할 때 이용하는 함수명으로서 「doPost」와 「doGet」이 있다. 호출한 값을 이용하는 경우는 「doPost」, 호출한 값을 돌려주는 경우는 「doGet」를 이용한다. 여기서는 호출 된 값을 스프레드 시트에 기록하기 위해 "doPost"를 사용했습니다.

API로 게시




[Project version:]에서 [New]를 선택합니다.
※이유는 불명하지만, 「New」를 선택하지 않으면 URL이 갱신되지 않는다.


Makefile을 만들고 curl을 사용하여 API를 호출하는 설명 추가



작업 폴더로 "gas-client"폴더를 만들고 그 안에 Makefile 만들기
Makefile은 변수로 API URL을 정의하고 appenddata에서 curl 명령을 실행합니다.

Makefile
API_URL = 'API 公開時に取得した URL'

appenddata:
    curl -L $(API_URL) \
    -F 'name=リベンジ' \
    -F 'hp=50' \
    -F 'attack=10'

터미널에서 실행

터미널
gas-client $ make appenddata
curl -L 'API 公開時に取得した URL' \
    -F 'name=リベンジ' \
    -F 'hp=50' \
    -F 'attack=10'
OK!gas-client $ 

참고



Go를 위한 Makefile 입문

좋은 웹페이지 즐겨찾기