App Engine コマンドライン ツール用 Cloud Endpoints Frameworks

このページでは、Endpoints Frameworks コマンドライン ツールを使用して、バックエンド サーバーの API からクライアント ライブラリを生成する方法を説明します。生成されたライブラリは、任意の Java アプリまたは Android アプリで API の呼び出しに使用できます。

Endpoints Frameworks コマンドライン ツールを使用すると、アプリケーションでの API アクセスを可能にするクライアント ライブラリ バンドルを生成できます。クライアント ライブラリを生成すると、Endpoints Frameworks コマンドライン ツールによって、API のサーフェスを記述するディスカバリ ドキュメントが自動生成されます。

Endpoints Frameworks コマンドライン ツールを入手するには、Maven セントラル リポジトリから endpoints-framework-tools をダウンロードします。 zip ファイルの内容を抽出すると、endpoints-framework-tools-2.2.1/bin/ ディレクトリ内にツールが配置されます。

API からクライアント ライブラリ バンドルを生成する

Endpoints Frameworks コマンドライン ツールを使用して生成できるクライアント バンドルの種類は次のとおりです。

  • Maven: このバンドルには、Endpoints Frameworks と Google API クライアント ライブラリの依存関係を伴う pom.xml ファイルが含まれています。readme.html ファイルには、さまざまなタイプのクライアント アプリケーションのために pom.xml ファイルに何を追加する必要があるか、また、Maven を使用して API 用のクライアント ライブラリを構築する方法に関する詳細情報が提供されています。

  • Gradle: このバンドルには、Endpoints Frameworks と Google API クライアント ライブラリの依存関係を伴う build.gradle ファイルが含まれています。readme.html ファイルには、さまざまなタイプのクライアント アプリケーションのために build.gradle ファイルに何を追加する必要があるか、また、Gradle を使用して API 用のクライアント ライブラリを構築する方法に関する詳細情報が提供されています。

  • デフォルトのクライアント バンドル: このバンドルには、すべての依存関係ライブラリと生成された source.jar ファイルが含まれています。このファイルはクライアント内で API の呼び出しに使用される Java ライブラリです。このバンドルにより、OAuth を含む Google API クライアント ライブラリのすべての機能をクライアントで利用できるようになります。readme.html ファイルには、各種のクライアント アプリケーションに必要な .jar ファイルのリストと、クライアント ライブラリの使用に関するその他の詳細が記載されています。

Android アプリでクライアント ライブラリをお使いの場合には、Gradle クライアント バンドルの使用をおすすめします。

コマンドラインの構文

Endpoints Frameworks コマンドライン ツールにはコンパイル済みバイナリが必要となるため、このツールの使用前に、バックエンド プロジェクトをビルドする必要があります。デフォルト(--war="./war")を使用しない場合、--war= オプションを使用して、WEB-INF ディレクトリとコンパイル済みの java クラスを含むビルド ターゲット出力ディレクトリを指定することもできます。

基本的な構文は次のようになります。

/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \
    get-client-lib OPTIONS CLASS_NAME

ここで

  • OPTIONS を指定した場合は、オプションの表に記載された 1 つ以上の項目を指定します。
  • CLASS_NAME は、API の完全修飾クラス名です。

例:

/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \
    get-client-lib --war=target/echo-1.0-SNAPSHOT -bs gradle com.example.echo.Echo

target/echo-1.0-SNAPSHOT は、WEB-INF とコンパイル済みバックエンド クラスが格納されるターゲット ビルド ディレクトリへの相対パスまたは絶対パスです。

オプション

次のオプションを使用できます。

オプション名 説明
build-system 生成されるクライアント バンドルの種類を指定できます。Android 向け Gradle クライアント バンドルには gradle を、Maven クライアント バンドルには maven を、または依存ライブラリとソース jar だけを含むバンドルには default を指定します(またはこのオプションを省略します)。 --build-system=gradle
-bs gradle
war appengine-web.xml とその他のメタデータを含むビルド ターゲット ディレクトリ WEB-INF へのパスを設定します。
デフォルト: ./war
--war=target/echo-1.0-SNAPSHOT
-w target/echo-1.0-SNAPSHOT
output 出力の書き込み先ディレクトリを設定します。
デフォルト値: ツールの起動元ディレクトリ。
--output=/mydir
-o /mydir

サポートされるクライアント プラットフォーム

Endpoints Frameworks コマンドライン ツールによって生成されたクライアント バンドルでは、次のプラットフォームがサポートされます。