libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

Fusion Tablesによるデータベースの利用 (4/6)

作成: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は、デーブルを開いた時のアドレスから得られます。テーブルを開いた時のアドレスは、
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

※プログラムリストが表示されない場合

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プログラミング [中級編]」に戻る