ブロックチェーン・AI・システム開発の株式会社INDETAIL

日々の業務をちょっと楽にするシステム開発日記 Google Sheets APIでデータ取得する時、気をつけたい3つのこと

2016.01.12
suzy

前回のおさらい

前回のブログにて、Google スプレッドシートを活用したデータ管理システムの開発を宣言しました。今回は Google スプレッドシートのデータをシステムから操作するため、Google Sheets API の動作検証をしてみます。以下の2回に分けて執筆予定です。

開発日記2-1:Google Sheets APIでデータ取得する時、気をつけたい3つのこと← いまココ!

・認証なしでアクセスが可能なスプレッドシートに対して、API経由でデータを取得する。

開発日記2-2:Google Sheets API でデータ取得/更新(認証あり)

・認証が必要なスプレッドシートに対して、API経由でデータを取得/更新する。

事前準備

Google アカウントをお持ちでない方は、事前にご用意ください。
https://accounts.google.com/SignUp?hl=ja

その1 スプレッドシートの作成

最初に、データ取得元のスプレッドシートを用意しましょう。

https://docs.google.com/spreadsheets/u/0/ にアクセスし、画面右下の赤いボタン「新しいスプレッドシートを作成」から、新規スプレッドシート作成画面を開きます。
blog_001

今回はサンプルとして、A列にユーザーID、B列に氏名を記載します。データは全て検証用の仮データです。
blog_002

スプレッドシートの情報にAPI経由でアクセスできるよう、ウェブ上に公開します。
ツールバー:ファイル > ウェブに公開 > 公開範囲・形式を選択して「公開」ボタン押下
blog_003
注:プライベートでお使いの Google アカウントでログインした場合、上記の手順のままだと、ウェブ上に Google アカウント情報(メールアドレスを含む)が公開されてしまいます。公開しても問題ないアカウントを事前に取得・ご利用ください。

その2 データを取得するための情報を確認する

先ほど作成したスプレッドシートのURLを確認すると、以下の形式になっているかと思います。

この URL 内の、スプレッドシートとワークシートの Key が分かれば、データの取得元が特定できます。ワークシート Key については、先頭シートの場合は od6 となりますので、ご注意ください。

その3  wget コマンドを利用してスプレッドシートにアクセス!

今回はお手軽に、wget コマンドを利用して Mac のターミナルからアクセスしてみます。

このような形で、スプレッドシートの情報を JSON 形式で取得できました。
blog_004
ただし、付帯情報としてスプレッドシートのエンコードや管理者アカウントなどの情報も含まれているため、今のままの方法では、実データの確認が難しそうです。
さらには、ウェブ全体にデータが公開されていて誰でも参照/更新できる状態なので、システム要件にある「データの編集は、特定の人だけができる」を実現できていません。
こちらは次回への課題となります。

参考情報として Chrome 拡張の Postman を利用すると、取得したJSONデータが整形されて表示できるので便利です。こちらの場合はブラウザ画面からリクエストを投げる事ができます。
blog_005

次回予告

次回のブログでは、アクセス権限が設定されたスプレッドシートにアクセスし、データの更新ができるところまでを検証してみます。

suzy Kawasuji Marie

INDETAIL には珍しい文系出身。初心者向け Raspberry Pi ネタと、色々な開発 tips を書いています。最近のおすすめマンガは「恋は雨上がりのように」。心が洗われます。

「いいね」ボタンを押すと、最新情報をすぐに確認できます。