Googleスプレッドシートのデータを取得するAPIは、とても手軽なので、簡単なプロトタイピングを作るのに重宝してます。
都度、やり方をど忘れしてるので、Qiitaに備忘録として残します。
API発行
Google Cloud Platform を開く
https://console.cloud.google.com/apis/dashboard
新しいプロジェクトができたら
APIライブラリが開いたら、
「Google Sheets API」 を検索
「Google Sheets API」の
「有効にする」をクリック
API キーを控えておく
Google Spread Sheet
Google Spread Sheet で新規作成し、
シートの中身を入力したら、
右上の「共有」をクリック
閲覧権限を、「リンクをしってる全員」に変更し、リンクをコピーする。
コピーしたリンク
https://docs.google.com/spreadsheets/d/ {スプレッドシートID} /edit?usp=sharing
これであとは、こちらのURLを呼べば、スプレッドーシートの情報がJSON形式で取得できます。
https://sheets.googleapis.com/v4/spreadsheets/{スプレッドシートID}/values/{シート名}?key={APIキー}
API作るのが、知らない間に以前より凄く簡単になってますね。
追記 :node.js でデータとして使うには
たとえば、GoogleSpreadSheet に以下入力してるとする。
これのAPIをよぶと
{
"range": "sheet1!A1:Z1008",
"majorDimension": "ROWS",
"values": [
[
"ID",
"名前",
"性別",
"生まれた年"
],
[
"1",
"山田太郎",
"男性",
"1970"
],
[
"2",
"広島花子",
"女性",
"1980"
]
]
}
main.js
'use strict';
const request = require('request-promise');
const apiURL="https://sheets.googleapis.com/v4/spreadsheets/{スプレッドシートID}/values/{シート名}?key={APIキー}";
var options = {
url: apiURL,
method: 'GET',
json: true
}
request(options).then(function (body) {
let bodyStr = JSON.stringify(body); //JSON 文字列に変換
let bodyJson = JSON.parse(bodyStr); //Parseする
let range = bodyJson.range;
let values = bodyJson.values;
console.log(values[1][1]); //山田太郎を表示
console.log(values[2][1]); //広島花子を表示
})
.catch(function (err) {
console.log(err);
});
以上