やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GoogleAppsScriptでHelloWorldしてみた

Google Apps Scriptでコードを書いて実行する方法を確認した。

目標

ラズパイのCPU温度を定期的にロギングしてアップロードしたい

前回

Fusion Tables APIに触ってみた

しかし、insert文には認証が必要らしいことがわかった。

今回

cronによりバッチ処理したい。そのために認証などGUIによる手入力を一切せずに実行したい。

認証を回避する方法を考えてみた。Google Apps Script(GAS)によりFusion Tables APIを呼び出して実行することで、認証を回避できないか。

それを試す前に、Google Apps ScriptでHelloWorldして使い方の基礎を学んでみた。

対象環境

起動

  1. Google Driveにアクセスする
  2. Google Apps Scriptを起動する (メニューになければアプリに追加する) f:id:ytyaru:20161127110722p:plain
  3. 以下のような画面が開くことを確認する f:id:ytyaru:20161127110850p:plain

タイトル編集

  1. タイトル部分をクリックする(無題のプロジェクトf:id:ytyaru:20161127110850p:plain
  2. 任意の名前を入力し、OKをクリックする f:id:ytyaru:20161127111206p:plain

メッセージ表示

Google Apps ScriptはJavaScriptベースらしい。JavaScriptならalert()関数でメッセージ表示できる。 GAS alertで検索するとこちらがヒット。

Browser.msgBox("");とするとメッセージ表示できるらしい。が、エラーになった。結果的にはLogger.log("")関数を使うことになった。以下、メッセージ表示までの経緯を記す。

1回目

  1. myFunction関数内にBrowser.msgBox("Hello Google Apps Script !!");を追記する f:id:ytyaru:20161127112850p:plain
  2. 実行する(実行アイコンを押下する) f:id:ytyaru:20161127113231p:plain (またはメニュー→実行→"myFunction"を選択する) f:id:ytyaru:20161127113258p:plain
  3. 保存ダイアログが表示されるので、OKをクリックする f:id:ytyaru:20161127113331p:plain
  4. プロジェクト名の編集ダイアログが表示される f:id:ytyaru:20161127113442p:plain
  5. 任意のプロジェクト名を入力する
  6. OKをクリックする f:id:ytyaru:20161127113459p:plain

無反応…。実行されていないじゃん。保存しただけで終わりやがった。 f:id:ytyaru:20161127113525p:plain

2回目

仕方ないので、もう一度実行する。

  1. 実行する(実行アイコンを押下する) f:id:ytyaru:20161127113231p:plain
  2. 承認ダイアログが表示されるので、許可を確認をクリックする f:id:ytyaru:20161127113827p:plain
  3. 許可のリクエストウインドウが表示されるので、許可をクリックする f:id:ytyaru:20161127114035p:plain
  4. エラーが表示された。 f:id:ytyaru:20161127114159p:plain このコンテキストからBrowser.msgBox()を呼び出せません。代わりにLogger.log()を試しましたか?というありがたいお言葉。

エラーになったけど、代替案を提示してくれたのでできそう。

3回目

  1. ソースコードを書き換える f:id:ytyaru:20161127114434p:plain
function myFunction() {
  //Browser.msgBox("Hello Google Apps Script !!");
  Logger.log("Hello Google Apps Script !!");
}
  1. 実行する
  2. メニュー→表示ログをクリックする f:id:ytyaru:20161127114634p:plain
  3. ログ内容を確認する f:id:ytyaru:20161127121117p:plain

無事、"Hello Google Apps Script !!"の文字列がログ出力されていることを確認できた。

ヘルプ

詳しいドキュメントはメニューヘルプで参照できそう。英語なので読むのに苦労しそうだが。

f:id:ytyaru:20161127125757p:plain

所感

GASの基礎はわかった。次はGASからFusion Tablesを操作したい。