Google Cloud Storage JSON API Client for JavaScript を試す

GCSにjavascriptを用いてアクセスできるライブラリを試した。

サンプルコード
https://github.com/GoogleCloudPlatform/storage-getting-started-javascript
参考ページ
http://qiita.com/noazoh/items/f893e5197f8ef56876a9

注意事項は参考ページに書いてある通り。

サンプルを実行するとこんな画面が出てくる。

まず、"Authorize" ボタンを押して、認証を行う。
認証はOAuth2で行われ、Googleアカウントが必要。
ブラウザ上でまだGoogleアカウントにログイン中でなければ、次のようなログイン画面が出てくる。

ログインすると、次の画面が出る。

これは、GAEのプロジェクトの管理コンソールの"APIと認証"配下にある"同意画面"で設定したものである。この例で出ている「strage-test」というのは、同意画面に設定した"サービス名"である。
認証ボタン押すと、制御が元のページに戻され、"Authorize"ボタンが消える。
ためしに、プルダウンから、"list Buckets"を選択してみると、数秒待たされた後、こんな感じで結果が出てくる。

未認証の状態で、プルダウンを選択しても、何も表示されない。(エラーにもならないのでちょっとわかりづらい)

では、認証ボタンによって何が行われるか見てみる。
認証したGoogleアカウントの、マイアカウントページを開く。
https://myaccount.google.com/
ページの下の方に「接続されたアプリとサービス」という欄があるので、そこの「アカウント権限」をクリックする。
すると、このようになっている。

「アクセス権を取り消す」ボタンをクリックすると、未認証の状態に戻るので、サンプル画面をリロードすると、再び Autorizeボタンが出現するようになる。

権限

Authorizeボタン押下後、アクセス対象のバケットに権限がないGoogleアカウントでログインし、認証してみる。すると、認証は通常と同様に行われるが、たとえば list Buckets を選択してみると、次のように Forbidden という結果がAPIから返されていることがわかる。