3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Googleスプレッドシートのデータを取得するAPIの作り方

Last updated at Posted at 2022-05-10

Googleスプレッドシートのデータを取得するAPIは、とても手軽なので、簡単なプロトタイピングを作るのに重宝してます。
都度、やり方をど忘れしてるので、Qiitaに備忘録として残します。

API発行

Google Cloud Platform を開く
https://console.cloud.google.com/apis/dashboard

以下の画像の矢印のところをクリック
Image from Gyazo

「新しいプロジェクト」をクリック
Image from Gyazo

新しいプロジェクトができたら

「APIとサービスの有効化」
Image from Gyazo

APIライブラリが開いたら、
「Google Sheets API」 を検索
Image from Gyazo

「Google Sheets API」をクリック
Image from Gyazo

「Google Sheets API」の
「有効にする」をクリック
Image from Gyazo

認証情報 > 認証情報を作成
Image from Gyazo

APIキーを選択
Image from Gyazo

APIキーができる。
Image from Gyazo

API キーを控えておく

Google Spread Sheet 

Google Spread Sheet で新規作成し、
シートの中身を入力したら、
右上の「共有」をクリック
Image from Gyazo

閲覧権限を、「リンクをしってる全員」に変更し、リンクをコピーする。
Image from Gyazo

コピーしたリンク

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 に以下入力してるとする。
スクリーンショット 2022-07-07 19.00.09.png

これの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);
   });

 以上


3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?