✖
原爆というと「まっ黒なおべんとう」だけ、小学生のときに発売されたらしい絵本で知ってて (なんで読むことになったのかよく覚えてない)、どっかの博物館か何かの展示で実物を見たことがある気がするんだけど、記憶が定かではない。
不思議なのは、これだけ甚大な破壊をもたらす兵器を落とされているのに、大して日本人 (自分も含めて) が反米的ではないことだなと思った。別にそうならなければいけないわけではないし、そうならないほうが良いとは思うが、単に不思議だと思った。
それはそうと資料館の入場料が微妙な金額なのが気になった。券売機というわけではなくて受付の人もいるし、桁が間違ってるかと思ってよく確認してしまった。
関連エントリー
- 東京農業大学 「食と農」の博物館 / 馬事公苑 / 世田谷美術館 東京農大「食と農」の博物館は入場無料。東京農大の構内ではない。 企画展が「南極飯」で面白かった。ペンギンの剥製がかなり近くで見れる。コウテイ...
- 調布市郷土博物館 / 調布市文化会館たづくり1階展示室 調布市郷土博物館 展示室内は基本撮影禁止。受付に許可が必要。 受付ホールに映写機がある 縄文土器の欠片に触れるコーナーがある 大日本帝国政府...
- ✖ 土曜日は、キヤノンギャラリーS(蜷川実花と野鳥の会)、ニコンサロン、ニコンサロンbis、コニカミノルタプラザをまわった。メーカーのギャラリー...
- 明治大学平和教育 登戸研究所資料館 明治大学の生田キャンパス内にある。 思ったより展示内容がしっかりしていて、企画展までしていた。建物は古いけど、展示は綺麗。平日にも関わらず人...
- 東大総合研究博物館 東大総合研究博物館 ウェブサイト見ても特に何がテーマで展示されているかわかなくて不安だったけど、とにかく標本が大量にある。実物の図鑑みたいな...
Google Spread Sheet のクソ複雑で使う気がなくなるAPIを、さくっと使えるJSONP APIに変身させるたった1つの方法
Google Spread Sheet の API は OAuth と XML を使ってシートを変更するものなのですが、これが非常に使いづらい。OAuth はいいとして、XML 作ったりするのがつらい。そのうえ JavaScript だけで完結させるのが、クロスドメインXHR が必要になるので難しい。あと XML 作ったりするのがつらい。OAuth のスコープもスプレッドシート全体への変更を許してしまって、これだと粒度が大きすぎる。あと XML 作ったりするのがつらい。
ということでまとめると
- 特定のスプレッドシートだけを外から更新したい
- OAuth は大変めんどうかつ、特定のスプレッドシートのみ権限を与えることができない
- Google Spread Sheet の XML API が全力で面倒
なので、
- 特定のスプレッドシートだけを更新できる
- クロスドメインで、JSONP を使える
- 安全に使える
を満す API を無理矢理グーグルに作ります。社員でもないのにAPI作るとかwwww って話ですが Google Apps Script を使えば、どんな無能でもAPI作れる感じになっているのでさくっと作ってみました。
手順
- いじりたいスプレッドシートで [ツール] → [スクリプトエディタ…] を開く (Google ドライブの新規作成から、スクリプトを選んでもいい)
- スクリプトエディタに code.gs の内容をはっつける。
- code.gs の openById() の引数をスプレッドシートのURLの含まれる key=... にする
- api_key を適当感じに生成していれる ( head /dev/urandom| shasum とかする)
- [ファイル] → [バージョンを管理] でバージョンを生成
- [公開] → [ウェブアプリケーションとして導入] で導入する ([アプリケーションにアクセスできるユーザー] は [全員 (匿名ユーザーを含む)] で良い。※ 設定に関わらず dev の環境はログインしていないと叩けない)
- call.js みたいな感じで叩く
まとめと注意点
共通鍵である api_key のみで安全性を確保しているので、api_key が漏れないようにする必要があります。Google Apps Script 側は外にコードが公開されたりはしないのと、必ず https で配信されるので問題ありませんが、API を呼ぶ側も https にしたほうが安全です。幸いこれまた Google の Drive のウェブ公開機能 (ルートフォルダを全世界に公開にすると、https://googledrive.com/host/FOLDER_ID でアクセスできる) を使うと https で簡単に公開できます (ファイル名自体を知られないようにする必要はあります)。
自分のサーバが全くいらないので非常に手軽でいい感じです。


