公開済みのAPIサーバを利用して開発を進めたいです。便利なサービスがあったら教えてください。
開発を進める際に、公開済みのAPIサーバから受け取ったレスポンスをもとに実装をしたい時があると思います。
そんな時、自分でAPIサーバを構築するのって面倒ですよね?
このような課題を解決する「SheetDB」というサービスがありますので、この記事では、使い方を解説していきます。
Googleスプレッドシートで簡単にRESTful APIが作れる「SheetDB」の使い方
「SheetDB」は、Googleスプレッドシートで簡単にRESTful APIが簡単に作れるサービスです。
APIが返却するレスポンスデータについては、スプレッドシートに記載し、Google Driveに保存して利用します。
また、スプレッドシートとの連携やベーシック認証、パーミッションなどの機能がGUIの管理画面で提供されていますので、設定はとても簡単です。
それでは、手順に沿って使い方を解説していきます。
- STEP1スプレッドシートを作成する
- STEP2「SheetDB」にスプレッドシートを登録する
- STEP3「SheetDB」のAPIをコールする
スプレッドシートを作成する
APIから返却するレスポンスデータをスプレッドシートで作成します。
今回は以下のようなスプレッドシートをGoogle Driveに作成します。
作成したスプレッドシートを右クリックして「共有可能なリンクを取得」します。
「リンクをコピー」しておきます。(後ほど、「SheetDB」へ登録します)
「SheetDB」にスプレッドシートを登録する
「SheetDB」へアクセスして、「Create Free API」をクリックします。
Google認証をしたら、「SheetDB」のホーム画面が表示されますので、「CREATE NEW」をクリックします。
スプレッドシートのURLを登録する画面が表示されますので、コピーしたスプレッドシートのURLを貼り付けます。
APIが作成されました。
「https://sheetdb.io/api/v1/固有のID」のような形式でAPIにアクセスするためのURIが発行されます。
</>のアイコンをクリックすると、READ(GET)のAPI結果が表示されます。
歯車のアイコンをクリックすると、API単位でパーミッションやベーシック認証の設定などが行なえます。
「SheetDB」のAPIを使ってみる
CRUDの操作に関しては、あらかじめAPIが提供されていますので、それを使って簡単に実装をすることができます。
詳しくは、公式のドキュメントを参照してください。
cURL, PHP, JavaScriptの実装サンプルコードと一緒に使い方が解説されています。
以下は、JavascriptにてGETのAPIをコールするサンプルです。
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.js"></script>
<script>
// Get all data
axios.get('https://sheetdb.io/api/v1/XXXXXXX')
.then( response => {
console.log(response.data);
});
// Get 10 results starting from 20
axios.get('https://sheetdb.io/api/v1/XXXXXXX?limit=10&offset=20')
.then( response => {
console.log(response.data);
});
// Get all data sorted by name in ascending order
axios.get('https://sheetdb.io/api/v1/XXXXXXX?sort_by=name&sort_order=asc')
.then( response => {
console.log(response.data);
});
</script>
「SheetDB」の価格
2020年7月時点の「SheetDB」の価格です。
2つのスプレッドシート、月500リクエストまでは無料で使えます。
まとめ
この記事では、Googleスプレッドシートで簡単にRESTful APIが作れる「SheetDB」というサービスの使い方を解説してきました。
「SheetDB」を使うことで、自分でAPIサーバを用意することなく、フロントエンドの実装を進めることが出来るので大変便利です。
無料の範囲内で個人的な学習にも使えますし、バックエンドのAPI実装を待たずに、結合を想定したフロントエンドの実装を進めたい時などに重宝するサービスです。
コメント