Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
171
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@gurigurico

Googleスプレッドシートで簡易APIを3分で作るよ

1. データ用のスプレッドシートを作る

ここでは、Online Data Generatorを使ってサクッとダミーデータを作りました。
apitest_-_Google_Sheets.png

2. スクリプトエディタを起動

メニューバーから Tools > Script editor を選ぶ。
Screen Shot 2018-12-27 at 3.11.53 pm.png

3. データをJSON化して返すスクリプトを書く

スクリプトエディタに以下のコードをコピペして適当な名前を付けて保存。

function doGet() {

  // スプレッドシートを取得。(シート名を指定してね!)
  const sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1')

  const rows = sheet.getDataRange().getValues()  // 全ての行を取得
  const keys = rows.splice(0, 1)[0]  // 最初の行はkeysだよ

  // データをJSONに整形するよ
  const data = rows.map(function (row) {
    var item = {}
    row.map(function (val, i) {
      item[String(keys[i])] = val
    })
    return item
  })

  return ContentService.createTextOutput(JSON.stringify(data)).setMimeType(ContentService.MimeType.JSON)
}

4. スクリプトをWebアプリ化

メニューから Publish > Deploy as web app... を選ぶ。
Screen Shot 2018-12-27 at 3.19.06 pm.png

設定は以下のようにすると公開できるよ。権限の確認があるのでOKすべし。
apitest.png

5. ブラウザからアクセスしてみる。

以上、こんな感じでバッチリ機能してますね。実際のAPIはこちら
Screen Shot 2018-12-27 at 3.23.31 pm.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
171
Help us understand the problem. What is going on with this article?