【GAS】スプレッドシートを用いたAPI作成の基本

投稿日:

プログラミング初心者の勉強ブログ #120

GAS(Google Apps Script)を使ったAPI作成の基本についてのまとめ。「APIを作る」と言うとハードルが高そうだが、GASのサービスを使ってGoogleのapp群をJSで動かし、自分のアプリが欲しいデータを返すようにコードを少し書くだけ。「あらかじめGoogleが用意しているAPIを自分オリジナルに設定し外部に公開できる」みたいな感じ。

 

目次

 

Google Apps Script

gas

https://developers.google.com/apps-script/

 

GASはスプレッドシートやドキュメント、Gmail、Google MapなどのGoogleが提供するサービスを、自分が書いたJavaScriptで制御することができる仕組みを提供しており、これを使うことでGoogleのサービスをAPIとして自分のアプリで活用できるようになる。使い方は様々あると思うが、今回はGoogleスプレッドシートをDB的に活用してみる。ちなみに料金は無料であり、一方で利用制限があり従量課金制は無い。

 

スプレッドシートに記入した内容をレスポンスとして返すAPIを公開する

とりあえず試しに使ってみる。今回はスプレッドシートと連携したのでその流れを書いていく。

 

G Suite Developer Hub

G Suite Developer Hub

https://script.google.com/home

 

上のリンクよりG Suite Developer Hubに入る。ここで自分のプロジェクトを管理できる。

 

新規プロダクト作成

 

左上の「新規スクリプト」をクリックすると、以下のような画面が開く。

ファイル → 新規作成 → スプレッドシートを選択していく。

 

スプレッドシートを選択

 

スプレッドシートが開くので書き込んでタイトルつけて保存する。今回は免許の問題をとりあえずコピペした。

 

スプレッドシートを記入

上の内容についてだが、列を左からみて、

ジャンルID / 問題文 / 正誤 / 解説

のような形で入力してある。

 

入力したら、最初のスクリプト入力の画面に戻るために、

ツール → スクリプトエディタ

をクリックする。

 

スクリプトを表示

 

ここからが本番。スクリプトを以下のように書いていく。

 

スクリプトを書く

コードを分けてみていく。

ここまでの流れで、sheetからセルを選択してその値を格納している。

 

あとは公開するために少しだけ設定を行う。

公開 → ウェブアプリケーションとして導入...

をクリックする。

 

公開準備1

※画像によってタイトルが違うが、後からスクショを追加でとっただけなので無視して欲しい。紛らわしくて申し訳ありません。

以下のようなモーダルが出てくる。

公開準備2

 

適当にバージョン名を入力し、アプリケーションにアクセスできるユーザーを「全員(匿名ユーザーを含む)」に指定。

導入を押すと、

 

公開準備3

公開の設定が完了する。「現在のウェブアプリケーションのURL」を叩くことで、指定した返り値を自分のアプリで取得できるようになる。

 

自分のアプリでAPIにリクエストを送る

今回コードはかなりテキトーなので汚いが、とりあえず自分のアプリで公開したAPIにリクエストを送るためのコードを載せる。

 

スクリプト抜粋

 

 

実際のコード

APIで取得した問題(今回はランダム)を連続して出題できるような実装。

 

index.html

 

まとめ

APIとか通信は意外と面白い。

以上ありがとうございました。

-プログラミング学習
-, , ,

Copyright© s u p ? , 2019 All Rights Reserved.