Google Apps Marketplaceにアプリケーションを登録する方法
Google Apps Marketplaceに興味津々です。
でも、そもそもどうやるとアプリを登録できるのかわからないので、試してみました。
とりあえず、初めてなので以下のチュートリアルの「First Marketplace App」を動かしてみます。
Writing your First Marketplace App - Google Apps Marketplace - Google Code
※$100かかると言われていますが、アプリケーションを登録するだけなら無料です。Marketplaceの一覧に表示されるようにすると、$100かかります。
Google App Engineのアカウントを作成する
アプリケーションをGoogle App Engine(GAE)で動かすので、GAEのアカウントを作ります。
https://appengine.google.com/ でGoogleアカウントでログインすると、GAEのアカウントが作成されます。
(私は一度ここでエラーが発生しましたが、やり直したらうまくいきました。)
そして、「Create an Application」を押してアプリケーションを作ります。
携帯のメールアドレスを登録する
おもしろいことに携帯メールに認証コードを送ってもらって認証します。
「Verify Your Account by SMS」の画面で携帯のメールアドレスを登録します。
「Country and Carrier:」で国とキャリア(メールアドレスの@の後ろ)を入力。
「Username:」にメールアドレスの@の前を入力します。
「Send」を押すと、携帯に認証コードが届きます。
認証コードを入力すると、アプリケーション作成画面が表示されます。
空のアプリケーションを作成
「Application Identifier:」に適当なサブドメイン名を入力。
例えば、marketplace-helloと入力すれば、marketplace-hello.appspot.comがアプリのURLになります。
「Application Title:」に適当なアプリケーション名を入力します。
他は気にせず「Save」
空のアプリケーションが作成されました。
Google Apps MarketplaceでVendorになる
Google Apps Marketplaceにアプリケーションを登録するにはベンダー登録をする必要があります。
Getting Started (Developer Program Site)の「Become a Vendor」の章の通りにやればできますが、一応日本語で書いておきましょう。
Google Apps Marketplaceから右上の「Sign in」をクリックします。
Googleアカウントのユーザ名、パスワードを入力します。
右上の「Become a Vendor」をクリックします。
適当にVendor Profileを入力します。
「Save」をクリックします。
Google Apps Marketplaceにアプリケーションを登録する
右上の「My Vendor Profile」を表示。
「Create a new listing」をクリック。
以下のように入力します。
注意するところは3つです。
「My product may be directly installed into Google Apps domains」にチェックを入れる。
「Category」は「Product」からどれかを選ぶ。
Manifestに以下のようなXMLを入力する。
<?xml version="1.0" encoding="UTF-8" ?> <ApplicationManifest xmlns="http://schemas.google.com/ApplicationManifest/2009"> <Name>Hello World</Name> <Description>Demonstrates a simple Google Apps Marketplace application</Description> <!-- Administrators and users will be sent to this URL for application support --> <Support> <Link rel="support" href="http://marketplace-hello.appspot.com/support.jsp" /> </Support> <!-- Show this link in Google's universal navigation for all users --> <Extension id="navLink" type="link"> <Name>Hello World</Name> <Url>http://marketplace-hello.appspot.com/openid?hd=${DOMAIN_NAME}</Url> <Scope ref="calendarAPI"/> </Extension> <!-- Declare our OpenID realm so our app is white listed --> <Extension id="realm" type="openIdRealm"> <Url>http://marketplace-hello.appspot.com/</Url> </Extension> <!-- Need access to the Calendar API --> <Scope id="calendarAPI"> <Url>https://www.google.com/calendar/feeds/</Url> <Reason>This app displays the user's next upcoming Google Calendar appointment.</Reason> </Scope> </ApplicationManifest>
marketplace-helloはGAEのアプリケーション登録で入力したサブドメイン名で置換してください。
他の部分も入力必須なので全部適当に入力。
helloworldアプリをビルドする
Writing your First Marketplace App - Google Apps Marketplace - Google Codeの「Integrate the App」の章にある
Self-contained ZIP Downloadからheloworldアプリをダウンロードして、適当なディレクトリに解凍します。
解凍したディレクトリ内で以下のコマンドを実行しビルドします。
(Apache Ant 1.6以上とJDK6は前もってインストールして、パスを通してください)
ant -Dclient.key=-Dclient.secret= -Dapp.name=
この「View OAuth Consumer Key » 」をクリックするとサブウィンドウが表示されるので、表示された「Consumer Key」を
ビルドが終わるとtarget/explodedにWebアプリができます。
GAEへデプロイ
GAEへのデプロイは「Google App Engine SDK for Java」で行います。
ダウンロード - Google App Engine - Google Codeから「Google App Engine SDK for Java」をダウンロードして、適当なディレクトリに解凍します。
appengine-java-sdk-1.3.2\binで以下のコマンドを実行し、GAEへhelloworldアプリをデプロイします。
appcfg.cmd update\target\exploded
途中でアカウント情報を要求されますので、GAEアカウントのユーザ名、パスワードを入力します。
しばらくして、コマンドが完了すると、http://<サブドメイン名>.appspot.com/ にアクセスすることができるようになります。
こんな画面が表示されます。
Google Appsに申し込む
次のステップはGoogle Appsにhelloworldアプリを追加するのですが、当然Google Appsに申し込む必要があります。
Google Appsに申し込んでいない人は申し込んでください。
Google Appsの始め方は以下の記事が参考になります。
- GoogleApps - c_mutoh’s Diary
- Google Appsその2 - c_mutoh’s Diary
- Google Appsその3 -メール機能を有効にする - c_mutoh’s Diary
ドメインを取る必要があるのでここだけお金がかかります。でも、お名前.comで年間380円で取れます(2010年4月3日現在)。
Google Appsは50名以下なら無料です。
Google Appsにアプリケーションを追加
My Vendor Profileから追加したアプリケーションのタイトルをクリック。
この画面が表示されるので、「Add it now」をクリック。
Google Appsに登録したドメインを入力して「Go」
「同意して続行」をクリック。
Google Calendarへのアクセスを許可します。「データへのアクセスを許可する」をクリック。
「アプリケーションを今すぐ有効にする」をクリック。
アクセスしてみる
Gmailにでも行ってみると、上のメニューの「その他」に「Hello World」アプリが追加されています。
「Hello World」をクリックすると、シングルサインオンしていいかの確認画面が表示されます。
「許可」をクリックすると、シングルサインオンして、Google AppsにログインしているユーザのGoogle Calendarからイベント情報を取得して表示します。
おーちゃんと表示できました。