GoogleAppsScript(GAS)でFusion Tables操作を検証

GoogleAppsScript(GAS)を初めて使ってみました。

今まではあまり興味なかったのですが、最近良く目にする事より
需要があるんだな・・と思って、私なりに調べてみました。
結果、DB操作もできるとあって、Googleドライブで無料提供されているのもあるとのことで
さっそくそれを使ってみました。

Googleドライブ

Googleドライブってどこにあるんだっけ?って思って検索してたどり着いた。。

▼Googleドライブ

ついでに
▼googleデベロッパーコンソール
の設定も、今回必要だったのだけど、別URLなのですね。。

Fusion Tables

googleドライブを表示してから「新規」→「その他」→「+アプリを追加」を選択
その後、「Fusion Tables(試験運用)」を選択します。

用意されているアプリなんだけど「試験運用」ということより、いつまで用意されているか不明のツールです。

ちょっと使いにくいし英語なので抵抗がありました。

簡単なテーブルを作成してみました。
ちなみにテーブル名はmyTableと思うじゃないですか?
でも実際は上のURLのあるパラメータのIDがテーブルIDとのことでした。
~~~~?docid=XXXXXXXXXXXXの部分がテーブルIDらしいです。
だからselect * from XXXXXXになるみたいです。

スプレッドシート

googleドライブを表示してから「新規」→「googleスプレッドシート」を選択
スプレッドシートが表示されます。

ネットだからかちょっと重く感じます。

認証エラーが良く出る

もう何度も挫折しかけたけど、GAS実行テストする際に認証メッセージが出て
その後どうして良いのかわからなくなった事があります。
調べたところ、左下の詳細アイコンクリック→自分選択→承認とすればOKらしく
スクリプト単位で認証をするのと、API(この場合Fusion TablesAPI)の認証もOKにしないといけないみたいで、その辺がちょっと大変って思いました。

テーブル読み込んでスプレッドシートに表示

スプレッドシートにボタンを設置してアクションを紐づけると
そのアクションが実行さるようになりました。
アクション(メソッド)では、Fusion Tablesを読み込んでシートに出力するというのをやりました。

GAS + html

GASでhtmlを追加してhtml上のボタンクリックでGASのメソッドCALLして
テーブルのデータをhtmlに整形して返却
それをhtmlで表示というのもやりました。

最初、全然セットされないでなんで?って思たら色々エラーが出ていたようです。
1個目のGASでFusion Tablesへ接続できたからもう大丈夫と思ったら
2個目のGASも拡張を選択して認証をしないといけないみたいです。
そこが非常にわかりにくかったです。ずっと「Fusion Tablesの定義が見つからない」エラーが出て思いっきり迷いました。

まとめ

まだあまりできるようになっていないけれど
多くの参考サイトのお蔭でなんとかここまでできるようになりました。
ありがとうございました。
とりあえずここまで出来て良かった。という所まで。
これをどう業務用に活かすのかは別途考えるとします。

次は別のDBと接続してGASからスプレットに表示とかFusion TablesをODBCリンクして
ローカルで使用というのを試してみたいです。
こちらは現在挫折中・・出来そうな事が書いてあるサイトがありまだ実現できていません。
後は、スクレイピングもGASを使って実現させたいなと思っています。

【参考サイト】

https://www.virment.com/step-allow-google-apps-script/

http://pineplanter.moo.jp/non-it-salaryman/2016/02/03/google-drive-fusion-tables/

コメント

タイトルとURLをコピーしました