ひとまず Google Fusion Tables が使えるようになったが、何らかのプログラムからアクセスする方法を調べないと……ということで、Google Apps Scriptなるもの(実はこれも初めていじる)で試してみる。
Google ドライブに Google Fusion Tables のアプリを追加(接続)(初回のみ)
Googleドライブのマイドライブから、
[新規] → その他 → +アプリを追加
とたどって、
By Google から
Google Apps Script を探し出し、
接続する。
この手順は一度実施するだけで良い。
Google Apps Scriptのスクリプトを作成し、Fusion Tables にアクセスできるよう設定
Googleドライブのマイドライブから、
[新規] → その他 → Google Apps Script
と選択し、
「空のプロジェクト」を選んで[閉じる]を押すと、
プロジェクトが作成される。
ここで、メニューの
リソース → Google の拡張サービス...
を選ぶと、
プロジェクト名を決めていないときはここで尋ねられるので、適当に名前をつけて[OK]を押す。
Google の拡張サービスの中から、Fusion Tables を探して、
右側の□をクリックし、ON(緑)の状態にする。
ここで、[OK]はまだ押さずに、続けて
これらのサービスは Google デベロッパー コンソールでも有効になっている必要があります。
のリンクをクリックし、Google Developers Consoleを開く。
すると、APIと認証 → API の API ライブラリが開いているはずなので、「Fusion Tables API」を探し、
「Fusion Tables API」をクリックした画面で、[APIを有効にする]ボタンを押す。
その後、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]ボタンを押して表示される共有リンク
の、"……?docid=~" の~部分をコピーして貼り付ける。
これを実行すると、
承認を求められるので、[続行]を押し、
許可のリクエスト画面にて、[承認]を押す。
実行が終わり、メニューから
表示 → ログ
を選んで、
実行結果が表示されていれば、無事 Fusion Tables のテーブルへのアクセスが成功している。