production.log

株式会社リブセンスでエンジニアをやっている星直史のブログです。

Googleスプレッドシートの値をRe:dashに取り込む

Re:dashではDataSourceにGoogleスプレッドシートを指定することができます。 Googleスプレッドシートからデータを取り込む場合、 GoogleAPIConsoleからAPI Keyを発行するなど、手順が多かったので、今回の記事でまとめようと思います。

1. GoogleAPIConsoleにアクセス

2. 新規プロジェクト作成 Re:dash用のプロジェクトを作成します。 f:id:watasihasitujidesu:20160814130146p:plain

3. API Keyを作成

  • 画面左のサイドナビより認証情報をクリック f:id:watasihasitujidesu:20160814130147p:plain

  • 認証情報を作成 > サービス アカウントキーを選択 f:id:watasihasitujidesu:20160814130145p:plain

  • サービスアカウント種別を新しいサービスアカウントを選択し、各項目を入力。キーのタイプはJSONを選択 f:id:watasihasitujidesu:20160814130148p:plain

  • 画面左のサイドナビよりダッシュボードをクリック > APIを有効にするをクリック f:id:watasihasitujidesu:20160814130142p:plain

  • 検索フォームに"Drive"と入力すると出てくるGoogle Drive APIを選択 f:id:watasihasitujidesu:20160814130143p:plain

  • 有効にする をクリック f:id:watasihasitujidesu:20160814130144p:plain

これで、Googleスプレッドシートを操作するAPIキーの取得と、APIの有効化が終わりました。

4. Googleスプレッドシートで、APIと連携

  • API Keyを作成する過程で、秘密鍵jsonとしてDLできたはずです。このjsonファイルにemailが記載されているので、それをコピーしておきます。 
  • Googleスプレッドシートの共有設定で、先ほどコピーしたemailと共有する。

f:id:watasihasitujidesu:20160814131317p:plain

5. Re:dashでDataSourceを追加 Re:dash側でデータソースを追加します。
typeはGoogleSpreadSheetを選択し、API Keyを取得する際にDLしてきたjsonをファイル選択して、作成します。

f:id:watasihasitujidesu:20160814131333p:plain

6. クエリ作成 クエリ作成は少し、注意する必要があります。
取り込みたいGoogleスプレッドシートのURLが
https://docs.google.com/spreadsheets/d/10fdasFMDSjige4dfsaOMGF0asfmm1/edit#gid=2008635114
というURLで、左から2番目のシートを取り込みたい場合のクエリは

10fdasFMDSjige4dfsaOMGF0asfmm1|1
となります。
注意することは2つあります。
1. スプレッドシートのURLとシートの番号は|で区切る
2. シートの番号は左から0,1,2...となる。
10fdasFMDSjige4dfsaOMGF0asfmm1|1

f:id:watasihasitujidesu:20160814132025p:plain

この方法を参考に、自身のクエリを作り、実行すると、GoogleスプレッドシートのデータをRe:dashに取り込むことができます