壊れて見えたものと、本当に壊れたもの
Kanae
Independent My life

画像を保存するだけの機能に、丸2日かかりました。
Google Collectionsという保存サービスに、Chrome拡張から画像をアップロードしたい。
それだけのことなのに、正規のルートが完全に塞がっていたんです。
必要なIDがどこにもない。
APIのレスポンスにも、ページのソースコードにも、JavaScriptの変数にも。
試せることは全部試しました。
エンコーディングの変換、ヘッダーの追加、リクエストの形式変更。
何をやっても404エラー。
正面からは、どうやっても入れない。
そこで考え方を変えました。
「自分でアップロードするんじゃなくて、Googleのページに代わりにやってもらおう」
裏でGoogleのページをそっと開いて、ファイルを渡して、ボタンを押してもらう。
人間がやることをプログラムが代行するだけ。
これが、あっさり動きました。
振り返ると、正攻法にこだわりすぎていた時間が一番長かったです。
「APIで解決すべき」という思い込みが、別の可能性を見えなくしていました。
日常でも同じことがあります。
「こうあるべき」にとらわれて、目の前にある別の道が見えなくなること。
正面の扉が開かないなら、窓から入ればいい。
そういう柔軟さを、コードを書きながら学んでいます。
ちなみに、この機能にはひとつだけ制約があります。
アップロード中はポップアップを閉じてはいけない。
裏で処理が止まってしまうから。
完璧じゃない。
でも、使える。
「完璧じゃなくても使えるものを出す」というのも、ある意味で横から入る発想なのかもしれません。