GASでAPIを公開する方法として、scripts.run APIで実行できる実行可能APIと、ウェブアプリがある。 前者は認証が走り実行者の権限で動くが、後者は認証を行わずデプロイユーザーの権限で動かすこともできるのでパブリックなAPIとして使うことができる。 当然、不正な操作が行われないように注意する必要があり、GASのQuotaやhard limitも気にする必要がある。無料で運用することができるが、レイテンシやエラーハンドリング、監視などを考えるとやや心許ない。 ウェブアプリではdoGet(e)とdoPost(e)を実装することでそれぞれのメソッドのリクエストをハンドリングできる。これ以外のメソッドには対応していない。 function doGet(e) { return ContentService.createTextOutput(JSON.stringify(e.parame
![ウェブアプリとしてデプロイしたGASをブラウザからAPIとして呼ぶ際のCORSエラー - sambaiz-net](https://cdn-ak-scissors.b.st-hatena.com/image/square/a9e6dfd6b8e1d1d20651a18da5f07e08d04e3d5e/height=288;version=1;width=512/https%3A%2F%2Fwww.sambaiz.net%2Fimages%2Fmy_l.jpg)