clasp 설치(Windows)

소개



직장에서 GAS (Google Apps Script)를 만질 기회가 있고 clasp를 설치할 기회가 있었으므로 비망록으로 정리해 보았습니다.

개발 환경


  • Windows10 Pro 64bit
  • node v12.16.2
  • npm 6.14.4
  • clasp 2.3.0

  • clasp란?



    GAS(Google Apps Script)를 로컬 환경에서 관리할 수 있게 되는 툴입니다.
    Google에서 제공합니다.

    clasp 설치



    npm을 사용합니다.
    npm install @google/clasp -g
    

    Google Apps Script API 사용



    Google Apps Script API를 사용하려면 설정 화면을 엽니다.

    Google Apps Script API 설정이 꺼져 있으면 켜짐으로 설정하십시오.




    로그인


    clasp login 명령으로 로그인할 수 있습니다.
    명령을 두드리는 것과 동시에 브라우저가 일어나므로 로그인한다.

    그러면, 다음과 같은 허가를 요구하는 화면이 표시된다.


    화면 하단에 표시되는 「허가 버튼」을 누르면, 다음과 같은 메시지가 표시된다.
    Authorization successful.
    
    Default credentials saved to: ~\.clasprc.json (C:\Users\xxxxxxxx\.clasprc.json).
    

    로그인 정보의 저장 장소를 확인할 수 있습니다.

    새 스크립팅


    hoge 라는 이름의 스크립트를 작성하는 경우는 clasp create --title hoge 를 실행한다.
    실행 후, 작성하는 스크립트의 종류를 듣기 때문에 적당한 것을 선택한다.
    c:\clasp>clasp create --title hoge
    ? Create which script? (Use arrow keys)
    > standalone
      docs
      sheets
      slides
      forms
      webapp
      api
    

    이번에는 'standalone'을 선택한다.
    작성에 성공하면 URL이 표시되므로 브라우저에서 열거나 clasp open 명령을 실행한다.
    c:\clasp>clasp create --title hoge
    ? Create which script? standalone
    Created new standalone script: https://script.google.com/d/1xxx-lHcpXXXXKHzrGXXXXKVgfXXXXfKuPXXXXiey2XXXXgMLuXXXXHQU/edit
    Warning: files in subfolder are not accounted for unless you set a '.claspignore' file.
    Cloned 1 file.
    └─ appsscript.json
    

    GoogleDrive를 살펴보면 hoge라는 스크립트가 작성되었음을 알 수 있습니다.


    스크립트를 열어보면 myFunction 함수가 기술된 Code.gs 가 만들어진 것을 알 수 있다.


    스크립트 풀


    clasp pull 명령을 실행하여 Code.gs 파일을 로컬로 가져올 수 있습니다.
    ※pull을 하면(자), 확장자가 .gs 로부터 .js 에 재기록된다.
    c:\clasp>clasp pull
    Warning: files in subfolder are not accounted for unless you set a '.claspignore' file.
    Cloned 2 files.
    └─ Code.js
    └─ appsscript.json
    

    스크립트 수정



    편집기에서 Code.js 파일을 열어 편집합니다.

    Code.js
    function myFunction() {
      console.log('Hello, GAS!'); // 追加した
    }
    

    스크립트 Push


    c:\clasp>clasp push
    └─ Code.js
    └─ appsscript.json
    Pushed 2 files.
    

    로컬에서의 수정 내용이 반영되어 있는 것을 알 수 있다.


    이상으로 종료입니다.

    【덤】.claspignore에 대해서


    clasp push 했을 때 push 대상에서 제외하고 싶은 파일은, .claspignore 를 배치해 그 안에 기술하도록(듯이) 하도록(듯이) 합니다.
    ※ 그냥 .gitignore 같은 느낌.
    .claspignore를 배치하지 않으면 기본 패턴 세트가 적용되는 것 같습니다.
    GAS가 아니다 .txt 파일등은 미리 push 되지 않게 되어 있는 것 같습니다.

    그러나 넷의 기사를 읽으면이 기본 패턴 세트가 clasp 버전 업에 따라 변경됩니다.
    버전 업 된 계기로 공식 페이지 가이드을 확인하는 것이 좋습니다.
    ※라고 할까, 제대로 .gitignore 를 쓰자고 하는 이야기.

    좋은 웹페이지 즐겨찾기