Google API Explorer は、コードサンプルを動的に生成します。これらのコードサンプルは、コピーしてローカルで実行するように設計されています。サンプルを表示するには、API Explorer のサイドパネルで、全画面表示アイコン
をクリックします。下の図は、展開された全画面表示の API Explorer を示しています。デフォルトでは、API Explorer は cURL を使用してリクエストを実行する方法を表示します。API によっては、JavaScript、Java、Python など、他の言語のサンプルが表示される場合もあります。
コードサンプルをローカルで実行する
次の各タブでは、コードサンプルを実行するための前提条件と手順について説明します。コードサンプルを実行するには、独自の認証情報を生成して使用する必要があります。プロジェクトを作成して認証情報を生成する方法については、具体的な Google API のドキュメントをご覧ください。
認証情報は、メソッドがアクセスするデータの種類(公開または非公開)に応じて次のいずれかになります。
- 一般公開データの場合、認証情報は API キーです。
非公開データの場合、認証情報は OAuth 2.0 クライアント ID とクライアント シークレットを含む
client_secret.json
ファイルか、OAuth 2.0 アクセス トークンです。
cURL
設定
- API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
- Cloud Console で、API キーを作成します。
- Cloud Console で、ウェブ アプリケーションの OAuth クライアント ID 認証情報を作成し、リダイレクト URI として
https://developers.google.com/oauthplayground
を使用します。 - OAuth 2.0 Playground で OAuth 2.0 設定アイコン をクリックします。
- [Use your own credentials] をオンにします。
- 手順 3 で生成したクライアント ID とクライアント シークレットを入力します。
- スコープ フィールドに、メソッドで使用するスコープを入力し、[Authorize APIs] をクリックします。
- (省略可)ログイン画面が表示された場合は、使用するアカウントを選択します。
- (省略可)承認画面が表示されたら、[同意する] をクリックします。
- [Exchange authorization code for tokens] をクリックします。トークンが返されます。
- cURL コードサンプルでは、
[YOUR_API_KEY]
をステップ 2('https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
)で生成した API キーに置き換えます。 - cURL コードサンプルでは、
[YOUR_ACCESS_TOKEN]
はステップ 10 で生成したアクセス トークン(--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
)に置き換えます。
コードサンプルを実行する
コマンドラインから、cURL コマンドを実行します。コマンドは次のようになります。
curl \
'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \
--header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \
--header 'Accept: application/json' \
--compressed
JavaScript
設定
- API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
- Cloud Console で、API キーを作成します。
- Cloud Console で、「ウェブ アプリケーション」の OAuth クライアント ID 認証情報を作成し、承認済みの JavaScript 生成元を設定して、リクエストの送信元の URL(
http://localhost
など)を指定します。 - 完全なコードサンプルを、ウェブサーバーからアクセス可能なローカル ファイル(
/var/www/html/example.html
など)にコピーします。 コードサンプルで、API キーまたはクライアント ID を設定する行を見つけて、その値をステップ 2 と 3 で生成された値に置き換えます。
- API キー:
gapi.client.setApiKey(YOUR_API_KEY);
- OAuth 2.0 クライアント ID:
gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',
- API キー:
コードサンプルを実行する
- ブラウザでファイル(
http://localhost/example.html
など)を開きます。デバッグ コンソールを備えたブラウザ(Google Chrome など)を使用することをおすすめします。 - (省略可)ログイン画面が表示された場合は、使用するアカウントを選択します。
- (省略可)承認画面が表示されたら、[同意する] をクリックします。デバッグ コンソールに、メソッド レスポンスが JSON オブジェクトとして表示されます。
Java
前提条件
- Java 1.7 以上。
- Gradle 7 以降。
設定
- API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
- メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
- アプリケーション タイプを [デスクトップ アプリ] に設定します。
- OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は
client_secret_CLIENTID.json
のようになります。CLIENTID
は、プロジェクトのクライアント ID です。 作業ディレクトリで、次のコマンドを実行して新しいプロジェクト構造を作成します。
$ gradle init --type basic $ mkdir -p src/main/java src/main/resources
手順 2 で OAuth 2.0 クライアント ID を作成した場合は、ダウンロードした JSON ファイルの名前を
client_secret.json
に変更します。名前が変更されたファイルを、手順 5 で作成した
src/main/resources
ディレクトリに保存します。作業ディレクトリで
build.gradle
ファイルを開き、その内容を次のように置き換えます。apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' API_SPECIFIC_DEPENDENCY }
build.gradle
ファイルで、API_SPECIFIC_DEPENDENCY
という行を、呼び出す API のコードのコンパイル手順に置き換えます。YouTube Analytics API のサンプルを次に示します。compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0'
この手順では、次のテンプレートを使用します。
compile 'com.google.apis:google-api-services-API_NAME:API_VERSION- revREVISION-CL_VERSION'
ここで
API_NAME
は、GitHub でリストされている API 名です。名前を確認するには、[サポートされている Google API] ページで API の横にあるバージョン リンクをクリックします。バージョンのリンクから GitHub に移動します。API 名はページの上部中央に位置し、googleapis/google-apis-services-
が先頭に付加されています。たとえば、Drive API の v3 では、API_NAME
はdrive
です。API_VERSION
は、サポートされている Google API ページの API 名の下に表示される API の API バージョンです。REVISION
は、API の JavaDoc リファレンスにあるリビジョン番号です。JavaDoc リファレンスはhttps://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
にあります。CL_VERSION
はクライアント ライブラリのバージョンです。この値は JavaDoc リファレンスにもあります。- 作業ディレクトリから、API Explorer のコードサンプルを
src/main/java/ApiExample.java
にコピーします。(各サンプルのクラス名はApiExample
のため、さまざまなサンプルを実行するためにbuild.gradle
ファイルを変更する必要はありません。
コードサンプルを実行する
次のコマンドを使用してサンプルを行います。
gradle -q run
このサンプルでは、API リクエストを実行し、レスポンスを STDOUT
に出力する必要があります。呼び出しているサービスを確認して、データを書き込むリクエストの影響を確認することもできます。
Node.js
前提条件
- Node.js
Node.js 用の Google API クライアント ライブラリ:
- 以前にクライアント ライブラリをインストールしていない場合は、次のコマンドを実行します。
npm install googleapis --save
- 以前にクライアント ライブラリをインストールしている場合は、ライブラリを更新して、テストしているライブラリの最新クラスを確保することをおすすめします。クライアント ライブラリを更新するには、次のコマンドを実行します。
npm update googleapis --save
設定
- API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
- メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
- アプリケーション タイプを [デスクトップ アプリ] に設定します。
- OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は
client_secret_CLIENTID.json
のようになります。CLIENTID
は、プロジェクトのクライアント ID です。 - コードサンプルをローカル ファイルにコピーして、API キーまたはクライアント シークレット ファイルを正しく識別するようにサンプルを変更します。このサンプルでは、API キーの値が
YOUR_API_KEY
で、クライアント シークレットのファイルのロケーションはYOUR_CLIENT_SECRET_FILE.json
です。
コードサンプルを実行する
次のコマンドを使用してサンプルを行います。
node sample.js
ほとんどのサンプルでは、API レスポンス(またはその他)を STDOUT
に出力します。
PHP
前提条件
- PHP 5.4 以降とコマンドライン インターフェース(CLI)および JSON 拡張機能。
- Composer の依存関係管理ツールがグローバルにインストールされている。
PHP 用 Google API クライアント ライブラリ:
以前にクライアント ライブラリをインストールしていない場合は、次のコマンドを実行します。
composer require google/apiclient:^2.0
以前にクライアント ライブラリをインストールしている場合は、ライブラリを更新して、テスト対象のライブラリの最新クラスを確保することをおすすめします。クライアント ライブラリを更新するには、次のコマンドを実行します。
composer update google/apiclient --with-dependencies
コードサンプルを実行する
次のコマンドを使用してサンプルを行います。
php sample.php
ほとんどのサンプルでは、API レスポンス(またはその他)を STDOUT
に出力します。
Python
前提条件
- Python 2.7 または Python 3.5 以降
- pip パッケージ管理ツール
Python 用 Google API クライアント ライブラリ:
pip install --upgrade google-api-python-client
ユーザー認証用の
google-auth-oauthlib
ライブラリとgoogle-auth-httplib2
ライブラリ:pip install --upgrade google-auth-oauthlib google-auth-httplib2
設定
- API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
- メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
- アプリケーション タイプを [デスクトップ アプリ] に設定します。
- OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は
client_secret_CLIENTID.json
のようになります。CLIENTID
は、プロジェクトのクライアント ID です。 - コードサンプルをローカル ファイルにコピーして、API キーまたはクライアント シークレット ファイルを正しく識別するようにサンプルを変更します。このサンプルでは、API キーの値が
YOUR_API_KEY
で、クライアント シークレットのファイルのロケーションはYOUR_CLIENT_SECRET_FILE.json
です。
コードサンプルを実行する
次のコマンドを使用してサンプルを行います。
python sample.py
ほとんどのサンプルでは、API レスポンス(またはその他)を STDOUT
に出力します。
Ruby
前提条件
- Ruby 2.0 以降
Ruby の Google API クライアント ライブラリ:
gem install google-api-client`
設定
- API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
- メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
- アプリケーション タイプを [デスクトップ アプリ] に設定します。
- OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は
client_secret_CLIENTID.json
のようになります。CLIENTID
は、プロジェクトのクライアント ID です。 - コードサンプルをローカル ファイルにコピーして、API キーまたはクライアント シークレット ファイルを正しく識別するようにサンプルを変更します。このサンプルでは、API キーの値が
YOUR_API_KEY
で、クライアント シークレットのファイルのロケーションはYOUR_CLIENT_SECRET_FILE.json
です。
コードサンプルを実行する
次のコマンドを使用してサンプルを行います。
ruby sample.rb
ほとんどのサンプルでは、API レスポンス(またはその他)を STDOUT
に出力します。
サンプルに関する問題のトラブルシューティング
承認ダイアログが表示されない
API Explorer は、ポップアップを使用して限定公開データへのアクセスを許可します。ブラウザでポップアップがブロックされている場合、このポップアップは表示されず、アクセス権を付与することはできません。
承認画面で [許可] をクリックしても何も表示されない場合は、ブラウザのポップアップ設定を変更してポップアップを有効にしてみてください。
401 エラーまたは 403 エラーが表示された
サンプルのテスト時に 401 エラーまたは 403 エラーが表示される場合は、次のいずれかに原因があると考えられます。
- プロジェクトで API が有効になっていません。プロジェクトの作成方法と API の有効化方法については、API の手順をご確認ください。
- 間違った認証タイプ(OAuth 2.0 ではなく API キー)を使用しています。
- OAuth 2.0 を使用していますが、対象範囲が狭すぎます。
- API キーを設定する際に、認証情報の不正使用を防止するための制限を設定します。リクエストがこの制限を満たしていない。 詳細については、API キーの制限の使用をご覧ください。
混合コンテンツに関する警告を受け取った
Google Cloud Endpoints を使用し、開発サーバーでエンドポイントを実行している場合、混合コンテンツに関する警告がブラウザに表示される場合があります。この警告は、API Explorer が HTTPS 経由で読み込まれるものの、API がローカルで実行される場合、HTTP でホストされることが原因で発生します。
Chrome を使用してこの警告を非表示にするには、次のように特別なフラグを設定して Chrome セッションを開始します。
path/to/chrome --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:port
例:
/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080
この警告は、ローカルテスト用にのみ非表示にするようにしてください。
JavaScript のみ: gapi が定義されていない
>gapi が定義されていません。> ライブラリが読み込まれる前に JavaScript コードが JavaScript 用の Google API クライアント ライブラリを呼び出そうとすると、エラーが発生します。gapi
変数を参照するコードは、クライアント ライブラリの読み込みが完了するまでは呼び出さないようにしてください。