コードサンプルを実行する

Google API Explorer は、コードサンプルを動的に生成します。これらのコードサンプルは、コピーしてローカルで実行するように設計されています。サンプルを表示するには、API Explorer のサイドパネルで、全画面表示アイコン をクリックします。下の図は、展開された全画面表示の API Explorer を示しています。

Google Explorer API 用の API Explorer の全画面表示パネル
図 2: Google ブックス API の API Explorer の全画面表示パネル

デフォルトでは、API Explorer は cURL を使用してリクエストを実行する方法を表示します。API によっては、JavaScript、Java、Python など、他の言語のサンプルが表示される場合もあります。

コードサンプルをローカルで実行する

次の各タブでは、コードサンプルを実行するための前提条件と手順について説明します。コードサンプルを実行するには、独自の認証情報を生成して使用する必要があります。プロジェクトを作成して認証情報を生成する方法については、具体的な Google API のドキュメントをご覧ください。

認証情報は、メソッドがアクセスするデータの種類(公開または非公開)に応じて次のいずれかになります。

  • 一般公開データの場合、認証情報は API キーです。
  • 非公開データの場合、認証情報は OAuth 2.0 クライアント ID とクライアント シークレットを含む client_secret.json ファイルか、OAuth 2.0 アクセス トークンです。

cURL

設定

  1. API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
  2. Cloud Console で、API キーを作成します。
  3. Cloud Console で、ウェブ アプリケーションの OAuth クライアント ID 認証情報を作成し、リダイレクト URI として https://developers.google.com/oauthplayground を使用します。
  4. OAuth 2.0 PlaygroundOAuth 2.0 設定アイコン をクリックします。
  5. [Use your own credentials] をオンにします。
  6. 手順 3 で生成したクライアント ID とクライアント シークレットを入力します。
  7. スコープ フィールドに、メソッドで使用するスコープを入力し、[Authorize APIs] をクリックします。
  8. (省略可)ログイン画面が表示された場合は、使用するアカウントを選択します。
  9. (省略可)承認画面が表示されたら、[同意する] をクリックします。
  10. [Exchange authorization code for tokens] をクリックします。トークンが返されます。
  11. cURL コードサンプルでは、[YOUR_API_KEY] をステップ 2('https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \)で生成した API キーに置き換えます。
  12. 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

設定

  1. API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
  2. Cloud Console で、API キーを作成します。
  3. Cloud Console で、「ウェブ アプリケーション」の OAuth クライアント ID 認証情報を作成し、承認済みの JavaScript 生成元を設定して、リクエストの送信元の URL(http://localhost など)を指定します。
  4. 完全なコードサンプルを、ウェブサーバーからアクセス可能なローカル ファイル(/var/www/html/example.html など)にコピーします。
  5. コードサンプルで、API キーまたはクライアント ID を設定する行を見つけて、その値をステップ 2 と 3 で生成された値に置き換えます。

    • API キー: gapi.client.setApiKey(YOUR_API_KEY);
    • OAuth 2.0 クライアント ID: gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

コードサンプルを実行する

  1. ブラウザでファイル(http://localhost/example.html など)を開きます。デバッグ コンソールを備えたブラウザ(Google Chrome など)を使用することをおすすめします。
  2. (省略可)ログイン画面が表示された場合は、使用するアカウントを選択します。
  3. (省略可)承認画面が表示されたら、[同意する] をクリックします。デバッグ コンソールに、メソッド レスポンスが JSON オブジェクトとして表示されます。

Java

前提条件

  • Java 1.7 以上。
  • Gradle 7 以降。

設定

  1. API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
  2. メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
  3. アプリケーション タイプを [デスクトップ アプリ] に設定します。
  4. OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は client_secret_CLIENTID.json のようになります。CLIENTID は、プロジェクトのクライアント ID です。
  5. 作業ディレクトリで、次のコマンドを実行して新しいプロジェクト構造を作成します。

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. 手順 2 で OAuth 2.0 クライアント ID を作成した場合は、ダウンロードした JSON ファイルの名前を client_secret.json に変更します。

  7. 名前が変更されたファイルを、手順 5 で作成した src/main/resources ディレクトリに保存します。

  8. 作業ディレクトリで 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
    }
    
  9. 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_NAMEdrive です。
  • 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
    

設定

  1. API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
  2. メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
  3. アプリケーション タイプを [デスクトップ アプリ] に設定します。
  4. OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は client_secret_CLIENTID.json のようになります。CLIENTID は、プロジェクトのクライアント ID です。
  5. コードサンプルをローカル ファイルにコピーして、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
    

設定

  1. API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
  2. メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
  3. アプリケーション タイプを [デスクトップ アプリ] に設定します。
  4. OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は client_secret_CLIENTID.json のようになります。CLIENTID は、プロジェクトのクライアント ID です。
  5. コードサンプルをローカル ファイルにコピーして、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`
    

設定

  1. API ドキュメントの手順に従って、アプリのプロジェクトを作成または選択し、API を有効にします。
  2. メソッドがアクセスするデータの種類に応じて、API キー(一般公開データ)または OAuth 2.0 クライアント ID(限定公開データ)を作成します。
  3. アプリケーション タイプを [デスクトップ アプリ] に設定します。
  4. OAuth 2.0 クライアント ID を作成した場合は、OAuth 2.0 の認証情報を含む JSON ファイルをダウンロードします。このファイルの名前は client_secret_CLIENTID.json のようになります。CLIENTID は、プロジェクトのクライアント ID です。
  5. コードサンプルをローカル ファイルにコピーして、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 変数を参照するコードは、クライアント ライブラリの読み込みが完了するまでは呼び出さないようにしてください。