Fusion Tablesによるデータベースの利用 (4/6)
作成:2018-04-29 07:57
更新:2018-04-29 07:57
更新:2018-04-29 07:57
■FusionTablesオブジェクトとTableオブジェクト
では、Google Apps ScriptでFusion Tablesを使ってみましょう。拡張サービスを追加すると、Google Apps Scriptには「FusionTables」というオブジェクトが追加されます。先ほど、拡張サービスをONにするときにオブジェクト名として「FusionTables」と書かれていましたね。その設定にしたがて、FusionTablesという名前でオブジェクトが追加されていたのですね。
このオブジェクトを使って、Fusion Tablesにアクセスをします。まずは、テーブルの情報から取り出してみましょう。
Fusion Tablesのテーブルは、「Table」というプロパティにまとめられています。ここには、TableCollectionというコレクションのオブジェクトが設定されており、ここでFusion Tablesの全テーブルが管理されています。利用しているアカウントで作成したテーブルは、すべてこのTableにまとめられています。
では、このTableプロパティ内からテーブル情報を取り出すサンプルを挙げておきましょう。下のスクリプトは、指定したテーブルの名前とコラムの情報(コラム名とタイプ)をログに出力するものです。
tableId変数に、先ほど作成したテーブルのIDを指定して実行して下さい。なおテーブルのIDは、デーブルを開いた時のアドレスから得られます。テーブルを開いた時のアドレスは、
FusionTables.Tableに代入されているTableCollectionには、Tableというオブジェクトとしてテーブルを扱うためのものがまとめられています。このTableオブジェクトからプロパティやメソッドを呼び出して、テーブルの情報などを得ることができます。
●Tableを取得する
・テーブル名(プロパティ)
・テーブルID(プロパティ)
・テーブルの説明(プロパティ)
●コラムを取得する
・コラム名(プロパティ)
・値のタイプ(プロパティ)
・コラムの説明(プロパティ)
このオブジェクトを使って、Fusion Tablesにアクセスをします。まずは、テーブルの情報から取り出してみましょう。
Fusion Tablesのテーブルは、「Table」というプロパティにまとめられています。ここには、TableCollectionというコレクションのオブジェクトが設定されており、ここでFusion Tablesの全テーブルが管理されています。利用しているアカウントで作成したテーブルは、すべてこのTableにまとめられています。
では、このTableプロパティ内からテーブル情報を取り出すサンプルを挙げておきましょう。下のスクリプトは、指定したテーブルの名前とコラムの情報(コラム名とタイプ)をログに出力するものです。
tableId変数に、先ほど作成したテーブルのIDを指定して実行して下さい。なおテーブルのIDは、デーブルを開いた時のアドレスから得られます。テーブルを開いた時のアドレスは、
https://fusiontables.google.com/data?docid=……テーブルID……#rows:id=1このようになっています。このdocid=の後にあるのがテーブルIDです。その後にある#までの部分をコピーして、tableIdの値として使って下さい。
■テーブル関係の機能について
FusionTables.Tableに代入されているTableCollectionには、Tableというオブジェクトとしてテーブルを扱うためのものがまとめられています。このTableオブジェクトからプロパティやメソッドを呼び出して、テーブルの情報などを得ることができます。
●Tableを取得する
変数 = FusionTables.Table.get( テーブルID );IDを指定してTableオブジェクトを取得します。特定のテーブルのオブジェクトを取得するには、このgetが一番簡単です。
・テーブル名(プロパティ)
[Table]. name
・テーブルID(プロパティ)
[Talbe].tableId
・テーブルの説明(プロパティ)
[Table].description
●コラムを取得する
変数 = [Table] . columns;コラムは、Columnというオブジェクトとして用意されています。テーブルのコラムは、Tableオブジェクトのcolumnsプロパティにまとめられています。これは、Columnオブジェクトの配列になっており、そこからテーブルのコラムのColumnオブジェクトを1つずつ取り出すことができます。
・コラム名(プロパティ)
[Column].name
・値のタイプ(プロパティ)
[Column].type
・コラムの説明(プロパティ)
[Column].description
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
var tableId ='……テーブルのID……; function checkTable() { var table = FusionTables.Table.get(tableId); Logger.log(table.name); for (var i in table.columns) { var column = table.columns[i]; Logger.log(column.name + '(' + column.type + ')'); } }
※関連コンテンツ
「Google Apps Scriptプログラミング [中級編]」に戻る