Google Picker API の利用でハマる。
Google Picker API を使って、ユーザーが Google Drive 上のファイルをサーバーにアップロードできるような仕組みを構築している。Google Picker API のサンプルはこちら。
いきなし、これが動かない。
動作させると、JS コンソールに次のようなエラーが出てしまう。
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('file://') does not match the recipient window's origin ('null').
似たような問題で困っていた人はいるようだ。
Google API in Javascript - Stack Overflow
Google Cloud Console で API 周りの設定を見なおせ、という感じらしいので、引続き調べてみることにする。
【追記 - 2014/02/18】
進展あり。
同一生成元ポリシーの問題にひっかかっていたのかも。
こちらを参考にしていた所、Client ID の設定セクションで「Authorized JavaScript Origins」というのがあった。
https://developers.google.com/+/quickstart/javascript?hl=ja#step_1_enable_the_google_api
たとえば、Google Picker API を利用したいドメインが「http://localhost:3000」とした場合、ここに「http://localhost:3000」と書いておくと、読み込みはうまくいくようになった。