【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法


library

photo credit: Melinda Stuart Cozy At the Public Library via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けGoogle Apps ScriptのシリーズとしてチャットワークのBotの作り方についてお伝えしています。

前回の記事はコチラ。

【初心者向けGAS】Google Apps ScriptでWeb APIを活用するための基礎知識
Google Apps Script初心者向けの題材としてBotの作り方シリーズです。今回はチャットワークAPIを活用するために必要な知識として、Web API、HTTP通信、UrlFetchサービスについてです。

チャットワークを操作するための前提知識としてWeb APIとは何か、HTTP通信とは何か、ということをお伝えしました。

さて、チャットワークAPIを利用したメッセージの送信ですが、素のままやるとちょっと大変…そんなときにはライブラリを使うのが近道です。

ということで、今回はGASでチャットワークを操作するライブラリ「ChatWorkClient for Google Apps Script」を題材として、ライブラリとは何か、またその追加の仕方についてお伝えしていきます。

では、行ってみましょう!

面倒なことはライブラリに任せよう

さて、前回お伝えした通り、GASではUrlFetchサービスを使うことで、他のサービスが提供しているWeb APIにHTTPリクエストを送ることができるんですね。

書式はコチラ。

UrlFetchApp.fetch(URL[, パラメータ])

それで、チャットワークにBot通知をする、つまりメッセージを送るのであれば、POSTというメソッドで、payloadにメッセージの本文を、あとheaderにチャットワークのAPIトークンを乗っけて送ればOK!

それらを、fetchメソッドの引数のパラメータにオブジェクト形式で与えればOK!

…って、ちょっと難しそうですよね。

そんな時のために、先人がライブラリというのを用意してくださっているんですね。

ライブラリを使うことで、超簡単にチャットワークにメッセージを送ることができるようになります。

ライブラリとは何か

GASでは、作成した関数を他のプロジェクトから利用できる仕組みが用意されていて、それをライブラリと言います。

ライブラリは、別のアカウントからでも利用することができますので、どなたかが公開してくださっていれば、それを利用させてもらうことができるというわけです。

もちろん、自作することもできます。

後述する「ChatWorkClient for Google Apps Script」以外にも、オススメのライブラリとして、日時や時刻を操作する便利なライブラリ「Moment」

日付&時刻の便利ライブラリ「Moment.js」をGoogle Apps Scriptで使う方法
Google Apps Scriptの日付&時刻ですが、Moment.jsライブラリで、非常に簡単に取り扱えます。今回はライブラリの追加方法とmomentオブジェクトの生成についてお伝えしていきます。

当ブログの執筆もされているタダケン(@tadaken3)さんが作成された「HTML/XML Parser for Google Apps Script」

Google Apps ScriptでHTML・XMLのスクレイピングをするライブラリを公開してみた - タダケンのEnjoy Tech
Google Apps ScriptでHTML・XMLをパースするためのライブラリ「parser」を公開しました。parserを使えば、HTML・XMLから簡単に要素を取り出すことができます。

Google Developer Expertsの大橋さん@soundTricker)が作成されたSlackを操作するためのライブラリ「Slack API Library for Google Apps Script」

Slack BotをGASでいい感じで書くためのライブラリを作った - Qiita
全国のGoogle Apps Scriptファンの皆様こんにちは Apps Scriptガチ勢の大橋です。 今年でGoogle Apps Scriptアドベントカレンダーも3年目になりました。 年々人は減っている気がしますが、Bi...

など、色々とありますよ。

ご興味あればぜひ追加してみてください。

ライブラリ「ChatWorkClient for Google Apps Script」

それで、チャットワークについては、GASからチャットワークのAPIを簡単に利用することができるライブラリ「ChatWorkClient for Google Apps Script」が公開されています。

これを使わせてもらうことで、前述のUrlFetchサービスのfetchメソッドでごちゃごちゃオブジェクト形式のパラメータを作らなくても

  • マイチャットへメッセージを送信
  • 特定のルームにメッセージを送信
  • 特定のルームにタスクを追加
  • 特定のルームのタスク一覧を取得
  • 自分のタスク一覧を取得
  • 自分のルーム一覧を取得

などの操作をすることができるようになります。

これは使わせてもらわない手はないですよね…!

ちなみにGitHubのページはコチラですので、ご興味あるかたはどうぞ。

cw-shibuya/chatwork-client-gas
Chatwork Client for Google Apps Script. Contribute to cw-shibuya/chatwork-client-gas development by creating an account on GitHub.

ライブラリを追加する

では、「ChatWorkClient for Google Apps Script」を例に、ライブラリの追加の方法を見ていきましょう。

まず、スクリプトエディタから「リソース」→「ライブラリ」とたどります。

GASのスクリプトエディタからライブラリを選択

すると「図書館」という微妙な名前のダイアログが開きます。きっとLibraryだったんでしょうな。微笑ましい。

ライブラリを追加するには、プロジェクトキーなるものが必要になります。ChatWorkClient for Google Apps Scriptのプロジェクトキーは以下の通りなので、コピってください。

プロジェクトキー: M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT

それで、「ライブラリを追加」の欄にプロジェクトキーを入力して「追加」をクリックします。

GASでライブラリのプロジェクトキーの入力して追加する

続いて、バージョンをクリックして、プルダウンの中から最新のバージョンを選択。「保存」をします。

GASのライブラリを追加でバージョンを選択して保存

これで、ライブラリの追加は完了です。

まとめ

以上、GASのライブラリとは何か、またライブラリの追加の仕方についてお伝えしました。

これでチャットワークを操作するライブラリ「ChatWorkClient for Google Apps Script」が追加されましたので、これをスクリプトで活用していくまでです。

次回、その方法についてお伝えしていきますね。

【初心者向けGAS】チャットワークのマイチャットにメッセージを送る最も簡単な例
初心者向けGoogle Apps Scriptのシリーズとして、チャットワークのBotを作成する方法をお伝えしています。今回は、超簡単な例としてマイチャットにメッセージを送る方法と、APIトークンの取得の方法です。

どうぞお楽しみに!

連載目次:超初心者向けGASでBotを作りながら基礎を学ぶ

Google Apps Script(GAS)をはじめるためのメリットは山程ありますが、何を作ったらいいの?と悩んでしまうこともありますよね。そんな時に、おすすめしたいのが「Bot」の作成です。このシリーズでは、超初心者向けにGASでBotを作る方法を題材としながら、GASプログラミングの一通りの流れと書き方について学んでいきます。
  1. 【初心者向けGAS】本当の最初の一歩!スクリプトエディタでプロジェクトを開く
  2. 【初心者向けGAS】はじめてのスクリプトを作成し、保存し、実行する
  3. 【初心者向けGAS】プログラミングに必須の変数の使い方とデータ型について
  4. 【初心者向けGAS】ログを表示するLogger.logの使い方
  5. 【初心者向けGAS】スクリプト実行時の「承認」でびっくりしないために
  6. 【初心者向けGAS】Spreadsheetサービスの「オブジェクト」の基礎の基礎を知ろう
  7. 【初心者向けGAS】スプレッドシートのシートを取得する2つの方法
  8. 【初心者向けGAS】スプレッドシートのセル・セル範囲とその値を取得する方法
  9. 【初心者向けGAS】for文を使ったスプレッドシートの繰り返しの超基本
  10. 【初心者向けGAS】条件分岐をするif文の使い方の超基本
  11. 【初心者向けGAS】スプレッドシートのセルに値を入力する基礎の基礎
  12. 【初心者向けGAS】条件に応じてループを制御する2つの方法~break文とwhile文~
  13. 【初心者向けGAS】スプレッドシートのセル範囲を行数・列数を使って取得する
  14. 【初心者向けGAS】スプレッドシートのセル範囲をクリアするいくつかの方法
  15. 【初心者向けGAS】Google Apps ScriptでWeb APIを活用するための基礎知識
  16. 【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法
  17. 【初心者向けGAS】チャットワークのマイチャットにメッセージを送る最も簡単な例
  18. 【初心者向けGAS】Google Apps Scriptで別の関数を呼び出すfunctionの書き方
  19. 【初心者向けGAS】時限式のイベントトリガーを設置して決まった時刻にBotを送信する方法
  20. 【初心者向けGAS】プロパティストアの概要とスクリプトプロパティの編集方法
  21. 【初心者向けGAS】スクリプトプロパティを操作してそのデータを取り出す方法
  22. 【初心者向けGAS】スプレッドシートのセル範囲の値を二次元配列として取得して取り扱う方法
  23. 【初心者向けGAS】チャットワークのメッセージ記法でBot送信するメッセージを装飾する方法
  24. 【初心者向けGAS】Google Apps Scriptのドキュメンテーションコメントの書き方

  投稿者プロフィール

タカハシノリアキ株式会社プランノーツ 代表取締役
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ
★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ
★フォロー頂ければ嬉しいです。

コメント