GASをWebアプリ化させる

Google Apps Script(GAS)ネタ3連続。ご覧頂きありがとうございます。

ローカル環境からGASで作成したアプリを簡単に実行するための手段として、
GASをWEB-APIさせていきます。
ついでに固定値だったメールの宛先などをパラメータ化していきます。

Webアプリ化させる①

GASで作ったアプリをWEBアプリ化させるのに、
クライアント(ローカル)からの実行リクエストを受け取る入口を作成します。

GASのコードにfunctionを2つ追加して、
それぞれ中の処理はメールの下書き作成する関数を呼び出すだけ書きます。
functionの名前はdoGetとdoPost、パラメータを1つ定義して、

これで、getリクエストでもpostリクエストでも、
どちらでもリクエストが来たらメールの下書き作成を実行するようになります。

getリクエスト、postリクエストするのに必要なものといえば、
urlですね。
どこにリクエストを飛ばせば、このGASに飛んで来るのか?

Webアプリ化させる②

編集したGASのコードを上書き保存して、
メニューの[公開]-[ウェブアプリケーションとして導入・・・]をクリックします。

版管理と実行権限などのダイアログが出ますので、
一番上のテキストボックスに任意の文字(新規作成など)を入力、
一番下のドロップダウン(Who has access to the app:)はAnyone,・・・を選択し、urlだけでアクセスできるようにします。

そして[Deploy]をクリックすると、URLが表示されたダイアログが表示されます。

これで、WEBアプリ化完了です。
表示されたURLへブラウザなどでアクセスすると、GASアプリが実行されて
Gmailの下書きが作られます。

リクエストと宛先のパラメータ化

WEBアプリケーションへのリクエストでとりあえず、
htmlページを1つ作って、formからリクエストが飛ぶように作ります。

クライアントから送ったメールの宛先パラメータも使って欲しいので、
GASのコードをちょっと変えて、保存と公開を行います。

これでどこからでも、WEBリクエストが飛ばすことができれば
Gmail下書きが作れるようになりました。

ローカルにHTMLファイル1つ作っても良いですし、
ExcelVBAのような身近なプログラムからリクエストさせてもOKです。

コマンドプロンプトからcurlコマンドでリクエスト飛ばしていたら、
まさかGmail下書き作っているだけとは思われないでしょうねー。
(コマンド手打ちは面倒なので、バッチ化?)

 

ここまで3回に分けて、Google Apps Script(GAS)を使ってGmailの下書き作成と、GASの実行をクライアントからキックするWEBアプリケーション化をやっていきました。

WEBアプリケーションの公開に関しては、URLを知っていれば誰でも使える状態ですので、作るアプリケーションによってはしっかり制限掛ける設定にしてくださいね。

コメント