9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

株式会社アクシスのアドベントカレンダー23日目の記事です🎄

GASを使って社内用のSlackボットを開発しようと思ったのですが
GASのブラウザエディタの使い勝手があまり良くなく、個人的には好みではありませんでした...

なので色々と試してみたところ clasp を使えばローカルのエディタで開発でき、さらにTypescriptでのコーディングもサポートしていたのでその手順をまとめてみました!

手順

claspインストール

まずはプロジェクト作成

$ npm init -y

claspインストール

$ npm install -D @google/clasp

最後にGAS用のTypescript定義をインストール

$ npm install -D @types/google-apps-script

clasp設定

Googleにログイン

$ npx clasp login

ブラウザでGoogleのログインフォームが表示されるのでログイン情報を入力
権限を許可するか聞かれるので「許可」をクリック

ターミナル上に認証成功のメッセージが表示されていればOK

Authorization successful.

Default credentials saved to: ~/.clasprc.json

成功したらclaspプロジェクトを作成
スクリプトの種類を聞かれるので standalone を選択

$ npx clasp create ${プロジェクト名}

? Create which script? (Use arrow keys)
❯ standalone
  docs
  sheets
  slides
  forms
  webapp
  api

push

claspはTypeScriptをサポートしているので、ts拡張子ファイルをpushした場合はJavascriptにトランスコンパイルしてpushしてくれる。

とりあえず動作確認のためにコードをpushしてみる

$ echo 'const helloWorld = () =>  Logger.log("Hello, App Script!");' >> app.ts
$ clasp push
$ clasp open

ブラウザが開くのでコンパイルされたGASコードが表示されたらOK

// Compiled using ts2gas 3.6.3 (TypeScript 3.9.7)
var helloWorld = function () { return Logger.log("Hello, App Script!"); };

bot作成

botの作成については時間がなかったので @_nsk_さんがアドベントカレンダーで書いてくれてたので割愛
https://qiita.com/_nsk_/items/b8b2f71cfbecb6e2ec59#2incoming-webhook-%E3%81%AE%E8%A8%AD%E5%AE%9A

感想

無料でコードを実行できる環境としてGoogleAppScriptを愛用していましたが
claspのおかげでさらに好きになりました。(時間があればBot作成の部分を詳しく書きたい...)

皆さんもボット開発を行いたいときはGoogleAppScript+claspで開発してみてはいかがでしょうか?

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?