はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【GAS】Google Apps Scriptを初めて触ってみた

はじめに

先日Amazonで買い物をしていたら、3000円でスマートウォッチが売っていて衝動買いをしてしまいました。

中国製の奴で正直結構不満点がありますが、私は趣味でたまにランニングをするのでLineや着信通知,走行距離あたりは結構役に立っています。

ただ自分でスマートウォッチ内で扱えるアプリが作れたりできたらもっと理想的な感じはしますね。まあこればっかりは衝動買いしてしまった自分が悪いのですが。


というのはおいておいて、slackもこのスマートウォッチに通知を送りたかったのですがその設定ができないっぽかったです。

ただslackの通知をlineに転送すればスマートウォッチに表示できるのでは?という考えから色々調べたところ、Google Apps Script(GAS)がもしかしたら使えるかもしれないと分かり始めてみました。

前置きが長くなってしまいましたが今回は導入から簡単なスクリプト作成までを紹介したいと思います。

スクリプトの書く準備

まずはGoogle Apps Scriptのスクリプトを書くためのスクリプトエディタを起動するところから始まります。

Googleドライブにログインをします。

スクリプトエディタは各Googleアプリのツールバーのツール -> スクリプトエディタから起動することができますが、今回はGoogleスプレッドシートから開きます。

f:id:hanaaaaaachiru:20191025194807p:plain

f:id:hanaaaaaachiru:20191025194818p:plain

こんな感じの画面がでてくればOKです。

f:id:hanaaaaaachiru:20191025204843p:plain


ちなみにその他 -> アプリを追加からGoogleAppScriptsというアプリを使い、直接起動することもできます。

f:id:hanaaaaaachiru:20191025194954p:plain

ちょっとだけ補足

また全てのアプリでは試していませんが、以下のアプリでスクリプトエディタを起動することができました。

  • Googleスプレッドシート
  • Googleドキュメント
  • Googleフォーム
  • Googleスライド
  • Googleサイト

これらのようになにかのアプリにGASが付いているものはContainer Bound Scriptと呼び、単独で存在するものをStandalone Scriptと呼ぶようです。

この二つにはいくつかできることが異なるところがあるので要注意です。

こちらのサイトで丁寧に説明されていたのでよければチェックしてみてください。
Google Apps Script 入門 - Qiita

簡単なプログラムを作成する

プログラムはJavaScriptにて書きます。また少し手を加えてばTypeScriptも使えるみたいです。

C#が好きな私にとってはTypeScriptが使えるのはかなりありがたいですね。

最初はログにて定番のハローワールドをしてみます。

function myFunction() {
  Logger.log('Hello,World!')
}

この状態でctrl + Enterを押してみると、ログに文字が出力されていることが確認できます。

f:id:hanaaaaaachiru:20191025201853p:plain

メッセージボックスを使う

ログだけでは少し味気ないので、メッセージボックスにハローワールドしちゃいましょう。

ただここで使う関数はContainer Bound Scriptのみできるということに注意してください。

function myFunction() {
  Browser.msgBox('Hello,World!');
}

これを実行するときは上のツールバーから実行 -> 関数を実行 -> myFunctionを選択します。

f:id:hanaaaaaachiru:20191025202439p:plain

するとセキュリティから許可を求められますが、許可をすると…(詳細のところから実行できます)

f:id:hanaaaaaachiru:20191025202916p:plain

無事ハローワールドできました!

さいごに

ひとまずslackからlineへの通知転送を目標にやっていけたらと思います。

もしかしたらできない可能性もありますが…。