- 特定のスプレッドシートだけを外から更新したい
- OAuth は大変めんどうかつ、特定のスプレッドシートのみ権限を与えることができない
- Google Spread Sheet の XML API が全力で面倒
- いじりたいスプレッドシートで [ツール] → [スクリプトエディタ…] を開く (Google ドライブの新規作成から、スクリプトを選んでもいい)
- スクリプトエディタに code.gs の内容をはっつける。
- code.gs の openById() の引数をスプレッドシートのURLの含まれる key=... にする
- api_key を適当感じに生成していれる
- [ファイル] → [バージョンを管理] でバージョンを生成
- [公開] → [ウェブアプリケーションとして導入] で導入する ([アプリケーションにアクセスできるユーザー] は [全員 (匿名ユーザーを含む)] で良い。※ 設定に関わらず dev の環境はログインしていないと叩けない)
- call.js みたいな感じで叩く
簡単 JSONP APIの完成!!!
Google Apps Script のホストは https なので、call.js を配信するサーバを https にできれば (例えば、Google Drive の HTTP 公開機能を使うなど) api_key も漏れない (api_key が漏れなければ CSRF もしようがない)。ヘマしない限りは安全! フー!