Google Apps Script(GAS)で簡単に作るサーバーレスAPI | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

Google Apps Script(GAS)で簡単に作るサーバーレスAPI

こんちには、プロダクト開発チームの牧です。

最近、サーバーレスアーキテクチャが熱くなってきていると感じます。
わざわざAPIサーバーを立てる必要なく、コードをデプロイするだけでAPIサーバーとして利用できます。
有名なものですと、AWS LambdaやAzure Functions、GoogleのCloud Functionsなどでサービス提供されています。

今回は、もっと手軽にGoogle Apps ScriptだけでサーバーレスAPIを作る方法をご紹介します。

Google Apps Scriptとは

Google Apps ScriptとはGoogleが提供しているサービスの一つです。
JavaScriptで書くことができ、スプレッドシートやGoogle Driveなどを簡単に操作できるAPIが用意されています。
スケジューリングもできるので、Cronのように定期的に実行することが出来ます。
また、Googleのサーバ上で動作していますので安心感も抜群です。

実際に作ってみよう

今回は、cdnjsのJSON APIを使ってJavaScriptライブラリを探すAPIを作りたいと思います。

function doGet(e) {
  if(e.parameter.s){
    param = e.parameter.s;
  }else{
    param = "";
  }
  var response = UrlFetchApp.fetch("https://api.cdnjs.com/libraries?search=" + param);
  var output = ContentService.createTextOutput();
  output.setMimeType(ContentService.MimeType.JSON);
  output.setContent(response.getContentText());
  return output;
}

doGet関数はWebAPIとして公開した時に、
GETメソッドでアクセスすると実行される関数です。
UrlFetchAppを使って外部APIにアクセスし、取得したJSONを返す簡単なAPIです。
パラメータにs=jqueryなどと追加してアクセスすると、絞り込みが行われ該当したJavaScriptライブラリの情報が入っているJSONが返ってきます。

公開してみよう

コードが書けましたので、今度は作ったコードをAPIとして公開してみましょう。
まずは、「公開」タブの「実行可能APIとして導入」をクリックしましょう。

ExternalAPI_menu
今回作成したコードのバージョンを決めて、どの範囲まで公開するのかを確認します。
今回は最初に作ってしまっていたので「v0.0.2」としてバージョンを打ちました。

ExternalAPI

次に、「公開」タブの「Webアプリケーションとして導入」をクリックします。

WebApp_menu
先ほど決めたバージョンを選択肢、ここでも公開範囲の設定を行います。
上部に表示されるURLが公開時のURLエンドポイントとなります。
また「最新のコード」とあるリンクにはバージョンを打たなくても、最新状態のコードが反映されるURLとなります。
開発時にはこちらを利用すると便利です。

WebApp

更新を行い、先ほどのURLにアクセスしJSONが返ってくれば成功です!

まとめ

スプレッドシートやGmailの操作でよく利用されているGoogle Apps Scriptですが、このような使い方もあります。
今回はGETメソッド部分だけの処理を作成しましたが、使い方次第ではRESTなAPIサーバーも作ることができます。
Webhook連携先など簡単なAPIサーバーが欲しいときにはとても重宝します。

今後もGoogle Apps Scriptの活用方法をご紹介していきますのでお楽しみに。

今すぐお気軽に
ご相談ください。

0120-315-465

(平日 10:00~19:00)

今すぐお気軽に
ご相談ください。

0120-315-465

(平日 10:00~19:00)

グラッドキューブは
「ISMS認証」を取得しています。

認証範囲:
インターネットマーケティング支援事業、インターネットASPサービスの提供、コンテンツメディア事業

「ISMS認証」とは、財団法人・日本情報処理開発協会が定めた企業の情報情報セキュリティマネジメントシステムの評価制度です。

いますぐ無料で
お試しください。

トライアル終了後も
無料でご利用いただけます。

お名前【必須】
メールアドレス【必須】
※携帯・フリーアドレスは不可
電話番号【必須】

利用規約』『プライバシーポリシー』に同意する