風柳メモ

ソフトウェア・プログラミング関連の覚書が中心。

【覚書】Google Fusion Tables に Google Apps Script でアクセスする手順

ひとまず Google Fusion Tables が使えるようになったが、何らかのプログラムからアクセスする方法を調べないと……ということで、Google Apps Scriptなるもの(実はこれも初めていじる)で試してみる。

Google ドライブに Google Fusion Tables のアプリを追加(接続)(初回のみ)

Googleドライブのマイドライブから、
[新規] → その他 → +アプリを追加
とたどって、
f:id:furyu-tei:20150819211106p:plain
By Google から
f:id:furyu-tei:20150819211111p:plain
Google Apps Script を探し出し、
f:id:furyu-tei:20150819211607p:plain
f:id:furyu-tei:20150819211616p:plain
接続する。
f:id:furyu-tei:20150819211619p:plain
この手順は一度実施するだけで良い。


Google Apps Scriptのスクリプトを作成し、Fusion Tables にアクセスできるよう設定

Googleドライブのマイドライブから、
[新規] → その他 → Google Apps Script
と選択し、
f:id:furyu-tei:20150819211624p:plain
「空のプロジェクト」を選んで[閉じる]を押すと、
f:id:furyu-tei:20150819211629p:plain
プロジェクトが作成される。

ここで、メニューの
リソース → Google の拡張サービス...
を選ぶと、
f:id:furyu-tei:20150819211640p:plain
プロジェクト名を決めていないときはここで尋ねられるので、適当に名前をつけて[OK]を押す。
f:id:furyu-tei:20150819211645p:plain
Google の拡張サービスの中から、Fusion Tables を探して、
f:id:furyu-tei:20150819211649p:plain
右側の□をクリックし、ON(緑)の状態にする。
f:id:furyu-tei:20150819211653p:plain
ここで、[OK]はまだ押さずに、続けて

これらのサービスは Google デベロッパー コンソールでも有効になっている必要があります。

のリンクをクリックし、Google Developers Consoleを開く。
すると、APIと認証 → API の API ライブラリが開いているはずなので、「Fusion Tables API」を探し、
f:id:furyu-tei:20150819211658p:plain
「Fusion Tables API」をクリックした画面で、[APIを有効にする]ボタンを押す。
f:id:furyu-tei:20150819211702p:plain
その後、Google Apps Scriptの画面に戻ると、そのスクリプトでは Fusion Tables API が使用できるようになる。

簡単なスクリプトの実行

Googleドキュメント上の Fusion Tables のテーブルにアクセスして、行内容を表示するだけのサンプルスクリプト。

var tableId = 'your-table-id';

function getRows(request) {
  var sql = 'SELECT * FROM ' + tableId + ' LIMIT 10';
  
  var result = FusionTables.Query.sqlGet(sql);
  for (var row_number=0; row_number < result.rows.length; row_number++) {
    var columns = [];
    for (var column_number=0; column_number < result.columns.length; column_number++) {
      columns.push(result.columns[column_number] + '=' + result.rows[row_number][column_number]);
    }
    Logger.log(columns.join(', '));
  }
}

ここで、"your-table-id" の部分には、自分で作成した Fusion Tables のテーブルの画面右上にある[Share]ボタンを押して表示される共有リンク
f:id:furyu-tei:20150819211724p:plain
の、"……?docid=~" の~部分をコピーして貼り付ける。

これを実行すると、
f:id:furyu-tei:20150819211707p:plain
承認を求められるので、[続行]を押し、
f:id:furyu-tei:20150819211712p:plain
許可のリクエスト画面にて、[承認]を押す。
f:id:furyu-tei:20150819211717p:plain
実行が終わり、メニューから
表示 → ログ
を選んで、
f:id:furyu-tei:20150819211720p:plain
実行結果が表示されていれば、無事 Fusion Tables のテーブルへのアクセスが成功している。
f:id:furyu-tei:20150819211728p:plain