Go言語からGoogle Spreadsheetを読み込む方法
Google Sheets APIを使うことでSpreadsheetのデータを外部から読み込むことができます。ドキュメントにはいろいろな言語のサンプルが載っていますが、今回はGo言語でSpreadsheetのデータを読み込む方法を書きます。
Go言語で利用する手順については以下の公式サイトに載っているので、基本的にはこの手順に従って進めればOKです。
https://developers.google.com/sheets/api/quickstart/go
Google Sheets APIの有効化
まず、以下の赤矢印で示す「Enable the Google Sheets API」ボタンを押しましょう。
プロヘクト名を効いてくるので任意のプロジェクト名を入力します。デフォルトで「Quickstart」と入っていますがそのままでも構いません。
利用するプラットフォームを選択します。今回はパソコンからGo言語でアクセスするので「Desktop app」を選びます。
jsonファイルが生成されるので「DOWNLOAD CLIENT CONFIGRATION」ボタンを押してダウンロードしましょう。プログラムと同じフォルダに設置します。
こんな風にダウンロードされました。Go言語のソースもこのフォルダ内で作ります。
Googleスプレッドシートの用意
Googleスプレッドシートでデータを用意します。赤枠のIDと赤丸のシート名をメモ帳などで記録しておきましょう。Go言語のソース内で使用しますので。
公開設定は自分だけ使用する場合はそのままで良いですが、複数人で共有する場合は公開条件の修正を忘れずに。
Go言語側の処理
Go言語でAPIを利用するためのライブラリをインストールします。
$ go get -u google.golang.org/api/sheets/v4 $ go get -u golang.org/x/oauth2/google
Go言語のソースコードですがドキュメントにサンプルが載っています。それをそのままコピペすればOK。
ただし、先ほど記録しておいたスプレッドシートファイルのIDとシート名、対象のセル範囲を赤線のところで設定する必要があります。また3つめの赤線のところでは取得するセルを指定しています。セルの列数より超えた範囲を指定すると実行エラーが出ますので注意ください。適宜修正しましょう。
実行(Googleログイン)
go run quickstart.go
で実行してみましょう。以下のように長いURLが現れます。これをコピーしてブラウザで開きます。
すると、以下のようにGoogleにログインを促されます。指示に従って進めましょう。
途中、以下のようなエラーが出てしまいます。これについてはこの記事に従って進めてください。
ログイン後に以下のようなコードが現れるのでコピーしましょう。
コピーしたコードを先ほどのコンソール上にペーストして「Enter」キーを押すと…
ご覧の通りSpreadSheetのデータが現れます。
ログインは最初の一回だけです。以降は以下の通りデータが取得できるようになります。
スポンサーリンク