Google Picker API の利用でハマる。

Google Picker API を使って、ユーザーが Google Drive 上のファイルをサーバーにアップロードできるような仕組みを構築している。Google Picker API のサンプルはこちら。

The "Hello World" Application

いきなし、これが動かない。
動作させると、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」と書いておくと、読み込みはうまくいくようになった。