本稿で作成するプログラムのサンプルはこちら(Gist)で閲覧・ダウンロードできます。
対象読者
- GoogleのサービスやAPIに興味のある方、悩んだことがある方
- Google Cloud Platformに興味のある方
- GoogleではないAPIの経験がある方(推奨)
必要な環境
- Googleアカウント
- Webブラウザ
- サンプルを実行する場合はJava 7、Maven 3
- Cloud上にデプロイする場合はGoogle App Engineのアカウント
認証を無視してAPIを実装する
GoogleはGoogle Cloud Platformという、クラウドを利用するプロダクトやサービスを複数含んだプラットフォームを提供しています。そのCloud Platformのサービスとして提供されるCloud Endpointsを使うと、Google APIと同じようにAPI ExplorerでアクセスできるAPIを、自分のアプリケーションのAPIとして実装することができます。
なお、Cloud Endpointsを利用するアプリケーションは、Cloud Platformのプロダクトとして提供される[Google App Engine][3]という、Googleが提供するPaaS(Platform as a Service)用のアプリケーションとして構築する必要があります。とはいえ、Google App Engine用のアプリケーションは、ローカルマシンだけでも試せます。実際に試してみましょう。
プロジェクトを作成する
Google App Engine(以下、App Engine)がCloud Endpoints用の「maven archetype」を提供しているので、それを利用してmavenのプロジェクトのひな形を作成します。
作業フォルダに移動し、次のようなmaven archetype:generate
コマンドを実行します。
mvn archetype:generate \ -DarchetypeGroupId=com.google.appengine.archetypes \ -DarchetypeArtifactId=endpoints-skeleton-archetype \ -DarchetypeVersion=1.1.1-1.9.4
長いですが1つのコマンドです。バックスラッシュ(半角円記号)により、後ろの改行が無視されて、1つのコマンドとして実行されます。バックスラッシュ(半角円記号)と改行をなくして、単純な1行として入力して実行することもできます。
このコマンドを実行すると、次のように入力を求められます。
- groupId:開発者の組織情報で、通常はドメインの逆で入力します(例:"com.shin1ogawa")
- artifactId:作成するアプリケーションの名称を入力します(例: "endpoints-example")
- version:作成するアプリケーションのバージョンを入力します(例: "1")
- package:アプリケーションで使用するJavaのパッケージ名です。デフォルト値で構いません
最後に入力した情報で間違いないかをYes/Noで聞いてくるので、"Y"と入力してください。
コマンドが正しく実行されると、次のようなフォルダ構成が作成されます。