Re:dash スプレッドシートにAPIを使用してQueryデータ取得する方法
Redashで作成したQueryをAPIで取得してスプレッドシートで表示する方法を紹介します。
URLの形式だけを必要な場合は
準備
Re:dashのデモサイトを使い説明します。
アカウント登録、ログインを済ませたら次のステップへ
APIのURLを取得
Queryを開きます。 サンプルは下記URLへアクセスしてください。 http://demo.redash.io/queries/6671#table
クエリの結果が表示されます。
[Queryの結果画面]
Show Source
をクリック
実行しているSQLのクエリが表示されます。
[Queryの詳細画面]
...
-> Show API Key
をクリック
API Key, API URLのモーダルが開きます。
[API Key, API URLのモーダル]
Results in CSV format:
の項目をコピー
※ 古いバージョンのRe:dashだとここでAPIしか表示されない場合があります。
その場合は次の項目API用のURLを作成
を参考にAPIキーをコピーし自身でAPI用のURLを作成してください。
API用のURLを作成(APIキーのみしが表示されなかった場合)
Results in CSV format:
が表示されなかった場合、API Keyをコピーしてください。
API用のURLは下記フォーマットになります。
http://<Re:dashのURL>/api/queries/<クエリの番号>/results.csv?api_key=<APIキー>
今回のサンプルでは
- <Re:dashのURL> -> demo.redash.io
- <クエリの番号> -> 6671
- <APIキー> -> 4DPIRmfFVMW8vJZaYALcRh3LgTkEZdfiAd9WXVnJ
URLはこのようになります。
http://demo.redash.io/api/queries/6671/results.csv?api_key=4DPIRmfFVMW8vJZaYALcRh3LgTkEZdfiAd9WXVnJ
Googleスプレッドシートで読み込み
データの読み込みには IMPORTDATA
を使います。
セルには以下の通り設定します。
=IMPORTDATA("http://demo.redash.io/api/queries/6671/results.csv?api_key=4DPIRmfFVMW8vJZaYALcRh3LgTkEZdfiAd9WXVnJ")
データが読み込まれました。
このままでは日付が数値になってしまっているので - A列を選択 - [表示形式] -> [数字] -> [日付]
をして日付に変更しましょう
これで無事スプレッドシートでRe:dashのデータが見られるようになりました。
クエリの更新やデータ反映をする方法
Googleスプレッドシートの IMPORTDATA
は数時間おきに更新してくれるようですがタイミングを制御することはできません。
すぐにでも変更を反映したい場合は、一度 IMPORTDATA
内のURLを別のものに変えてから戻すなどすると再読込してくれます。