LoginSignup
0
0

More than 5 years have passed since last update.

Google APIs Client Library for JavaScript サンプル説明ページの和訳

Last updated at Posted at 2015-01-15

Google APIs Client Library for JavaScript のサンプルに関する説明ページ
(https://cloud.google.com/storage/docs/json_api/v1/json-api-javascript-samples) を和訳しました。
...が、和訳するほどの難しい英語じゃなかった。原文を読んでも十分理解できると思います。


JavaScript Sample

このページでは、Google APIs Client Library for JavaScript を使って、Google Gound Storage JSON APIへリクエストを発行する方法をお見せします。とりわけ、GitHubに置いてあるサンプルコード storage-getting-started-javascript について説明しています。関連する動画 Google Cloud Storage - Getting started with the JavaScirpt Sample Application もご覧ください。
このドキュメントは、次のような読者を想定しています:GCSのコンセプトについて理解していること、および、Getting Starged: Using the Developers Consoleに書いてある操作についてわかっていること。

1.ClientIDの作成

clientIDは誰がリクエストしたのかを特定します。複数のアプリケーションに対して、それぞれclientIDを作成し利用することができます。
webアプリケーション用にclientIDを生成するときには、"javascript origin"の項目に、http://localhost:8000 を追加するのを忘れないようにしましょう。これは、サンプルコードをローカルでテストするときに必要です。

webアプリケーション用にclientIDを作成するには

1.Google Developers Console(開発コンソール)を開く
2.clientIDを紐付けたいプロジェクトを開く。
3.サイドバーの"APIと認証"配下の"認証情報"を開く。
4."新しいクライアントIDを作成"ボタンをクリック。
5.開いた画面で、"webアプリケーション"を選択する。(訳注:そして「同意画面を作成」ボタンをクリックし、同意画面の設定を行う。)
6."承認済みの JAVASCRIPT 生成元"の欄を入力。(訳注:http://localhost:8000 など)
7."承認済みのリダイレクト URI"の欄を入力。(訳注:6を入力すると自動的に"oauth2callback"が付与されたアドレスが自動入力される。これはこのままで良い)
8."クライアントIDを生成"ボタンをクリック。
結果、次のような感じになります。
設定例
9.入力内容を変更したくなったら、"設定を編集"ボタンで出来ます。

2.APIキーの作成

APIキーは、Google Cloud StorageのようなGoogleサービスへの認証を行います。APIキーを利用することにより、GCSと特定のプロジェクトとの接続にあたって、トラフィックをモニターしたり、クオータを適用したり、課金をしたりすることができるようになります。接続においてはユーザのアクションは必要ありません。また、アカウント情報へのアクセスを必要としません。よって、認証としては使用できません。

APIキーを生成するには

1.開発コンソールを開く。
2.APIキーを紐付けたいプロジェクトを開く。
3.サイドバーの"APIと認証"配下の"認証情報"を開く。
4.ページの下の方の"公開 API へのアクセス"のところにある"新しいキーを作成"ボタンをクリック。
5.開いた画面で、"ブラウザーキー"を選択する。
6."ブラウザキーの作成と許可対象リファラーの設定"の欄で、リクエストを受け入れるウェブサイトのアドレスを入力する。(訳注:この例では何も入力していないと思われる)
7.生成ボタンをクリック。
結果、次のような感じになります。
設定例-APIKey
8.入力内容を変更したくなったら、"許可対象リファラーを編集"ボタンで出来ます。

3.プロジェクトメンバーのグループIDの取得

サンプルでは、バケットへの一般的な操作を例示していますが、それは、パーミッションの設定を父君でおり、プロジェクトメンバーによるリクエストが必要となります。そのために、サンプルコードでは、プロジェクトメンバーのIDを使用します。
1.開発コンソールを開く。
2.プロジェクトを選択。
3.サイドバーの"ストレージ"-"Cloud Storage"配下の"プロジェクトダッシュボード"を選択。(訳注:ここで別タブで"Google APIs Console"の画面が開きます)
4.サイドバーより"Google Cloud Storage"を選択し(訳注:自動で画面が開いた時にすでに選択されています)、メンバーIDを確認します。(訳注:Google Cloud Storage IDs という欄に表示されています)
5.たとえば、"Owners""Editors""Team"などがメンバーIDとして使用できます。

4.webページを作成する

このサンプルは、1つのHTMLページからなっており、このページがGoogle APIs Client Library for JavaScriptを利用しています。下記に提示するサンプルコードに、次の変更を加える必要があります。

  • PROJECT に実際のプロジェクトIDをセット
  • clientID に、先ほど作成したクライアントIDをセット(訳注:手順1で作成したもの)
  • apiKey に、先ほど作成したAPIキーをセット(訳注:手順2で作成したもの)
  • GROUP に、先ほど確認したプロジェクトメンバーIDをセット(訳注:手順3で確認したもの)

(訳注:実際のコードは原文を見てください)

(訳注:サンプルコードを実際に動かそうと思ったら、もう少し変更が必要でした。末尾参照)

5.サンプルの実行

サンプルをローカル http://localhost:8000 でホストしてください。このアドレスは、クライアントIDを作成したときに、javascript生成元として指定しているはずです。
もしPythonがインストールされている環境ならば、次のコマンドでテストできます。

$ python -m SimpleHTTPServer


和訳はこれで終わりです。

サンプルコードへの修正

以下、実際にサンプルコードを動かそうとしたときにハマったことを記載しておきます。

1. PROJECT

index.html の28行目。ここにセットする値は、プロジェクトIDであって、プロジェクト名やプロジェクト番号ではないことに注意。

2. BUCKET

index.html の69行目、元のソースコードはこうなっていましたが

index.html
var BUCKET = 'code-sample-bucket-' + Date.now();

Date.now()の部分は不要。こうする。

index.html
var BUCKET = '実際のバケット名'; // + Date.now();

3. GROUP-ID

index.html の83〜84行目。GROUP-IDには書式があり、"group-"というプレフィックスが必要。なので、

index.html
var GROUP = 
    'group-0000000000000000000000000000000000000000000000000000000000000000';

これは、"group-"の部分を残して、ゼロの羅列の部分を実際の値に置換する。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0