はじめに
Unityなんかでゲーム制作をしていると、スコアランキングなんかを作りたい時があります。 ふつうはMySQLなんかのDBを使って書くといいと思います。しかしサーバーの維持費がかかったりします。そんな時は、Google Spreadsheetを使って節約しましょう
Google スプレッドシート
最近は、オフィスソフトウェアもオンラインで動くものが増えてきて、Googleスプレッドシートも、いわゆる、ウェブ上で動作する表計算ソフトウェアです。 簡単にファイルを共有でき、Googleドライブなんかに保存されるので、個人でのファイル管理に割く手間を省いてくれます。
表計算ソフトということで、マクロ機能が付いています。 さらに、このマクロを、ウェブアプリケーションとして公開という機能があります。 この機能を使うと、GETとPOSTを受け取ることができます。
余談ですが、Google Formなんかもウェブアプリケーションの類でしょうか、最近使う人がとても増えてきましたね。自分で書かずとも、簡単にウェブフォームを作ることができるので、とても便利ですね。その結果をGoogleスプレッドシートで見れてとても良いですね。
マクロ
適当にスプレッドシートを作成した後、ツール>スクリプトエディタと開きます。
ここで、Google Apps Script=マクロの言語を自由に記述できます。 このGoogle Apps Scriptとかいうやつは、だいたいのグーグルサービス共通で、様々なサービスのAPIが使えます。よい!無料部分でだいたいなんでもできます。めっちゃ便利 詳しくは解説しないので、ここらへん とか読んでください。
その中で、doPostとdoGetという関数名にすると、HTMLのPOSTとかGETとかを受け取れる。参考
スクリプトエディタに、次のように追加します
| |
適当にデバッグボタンを押して実行します。(デバッグボタンの横にある関数一覧をdoGetにしておきましょう)初回実行の際は、なんか、スプレッドシートにアクセスの許可が必要です、なんたらかんたら~って出るので、適当に許可しましょう。
A1セルに、“HelloWorld"と表示されましたか? でたら成功です。
まだまだこれでは普通ですね。スプレッドシートに戻ってA1セルを消しておきましょう。
URLでアクセスできるようにする
メニューから、公開>ウェブアプリケーションとして導入を押します。 そしたら、なんか出るので、アプリケーションにアクセスできるユーザーを「全員(匿名も含む)」に変えて導入を押します。

でてきたURLをコピーして、別のタブで開いてみると……何も起きませんね。(一見では でも、スプレッドシートに戻ってみると、“HelloWorld"とあるはずです。あら便利。
パラメータを受け取って、結果を返してみる
| |
先ほどと同じように、URLも発行します。(保存しなおす度にURLを再発行する必要があります)
そのURLの最後に……
https://script.google.com/macros/(……中略……)/exec?text=yeah
GET送信のパラメータを付け加えてアクセスすると…… success, failedなんか出たりします。 ここで、スプレッドシートに戻ってみると……
はい、yeahというのがA1かA2セルにあるかと思います。 やばい、もうめっちゃDBじゃん。
あとは、リファレンスを読むなり、VBAができるならそれっぽい要領で上手くできると思います。
かといって、私は、このDBをゲームのスコア管理ぐらいにしか使っていませんが……!よいライフを