[Google Cloud Console] Google Maps Android API v2のAPI Keyを取得 | アドカレ2013 : SP #14

2013.12.14

いつの間にかCloud Console

こむら@舞鶴鎮守府です。
いつも通りAPI Consoleにアクセスしてみたら、随分と様変わりしていたので面喰ってしまいました。
いつの間にか色々と変わったようです。Google MapsのAPI Keyを取得しようとしたら手順が色々違ったので、メモをしておきます

Google Maps Android API v2のKeyを取得する

まず、思うのが全然画面が違う・・・
とりあえずMapのAPI Keyを取得してみましょう

1.Cloud Consoleへ

Google Cloud Console へアクセス

01

どうやら、プロジェクトの下に複数のアプリケーションが紐づくようです。プロジェクトを作成しましょう。
「プロジェクトを作成」をクリックします

2.プロジェクト名とプロジェクトIDを決定する

プロジェクト名とIDを決定する画面が表示されます。

02

プロジェクトIDは、右にあるくるくるを押すとランダムで生成してくれるようです。ポチポチ

3.そして始まるSMS認証

そして唐突のSMS認証

03

「Continue」をクリックします

04

電話番号を入力して、「確認コードを電話に送信」をクリックします。
電話がかかってきます。コードが読み上げられるので入力します

Screenshot_2013-12-11-10-20-04

4.再度戻ってくる作成画面

認証が完了すると何事もなかったかのように、プロジェクトの作成画面に戻ってきます。プロジェクト名を入力し、プロジェクトIDを決定して「作成」を再度クリックします

05

正常に作成できた模様

5.APIと認証

次にAPIを解放します。作成したプロジェクトをクリックします。プロジェクトの概要が読み込まれます

15_1

続いて左メニューの「APIと認証」をクリックします。「API」が選択されてAPIの一覧が表示されます
一覧の中から「Google Map Android API v2」を探して、「無効」ボタンをクリックします

06

「有効」になったことを確認

07

6.アプリケーションを登録

アプリケーションの登録を行います。左メニューの「登録済みアプリケーション」をクリックします。さらに「アプリを登録」をクリックします

08

必要な情報を入力します。ちなみに公式ドキュメントにも記述されていますが、SHA1のフィンガープリントの取得方法は次の通りです。

$ keytool -list -keystore sample_signature.keystore
キーストアのパスワードを入力してください:

キーストアのタイプ: JKS
キーストア・プロバイダ: SUN

キーストアには1エントリが含まれます

com4dc_signature,2013/12/10, PrivateKeyEntry,
証明書のフィンガプリント(SHA1): 00:00:00:00:00:00:00:00:00:00:00:00:00:00:4F:0E:F8:4A:F8:2C

ちなみにDebug用のフィンガープリントの取得方法と、Release用の取得方法で異なるようなので、こちらの「Displaying the debug certificate fingerprint」と「Displaying the release certificate fingerprint」を参照の上

「登録」をクリックします

7.登録エラー

これで完了。のはずですが、エラーが発生しました。

09

うーむ・・・・?OAUTHのKeyがすでに存在するから登録できないよ、と言われてるようです。ここのスレッドを見てみると、

Probem solved by (I think) deleting the same creds on another test app - that was deleted. (had to undelete the project via the old console https://code.google.com/apis/console , then delete the creds within it, then delete the project again.)

と書かれています。うーん、あまり有力な情報ではありませんでした。

(緊急回避)旧API Consoleを利用する

どうもGoogle Cloud Consoleだとうまく完結しないようです。埒が明かないので、緊急回避策として旧API Consoleを利用します。
公式リファレンスでも、リンク先がAPI Consoleになってるので、こっちが正しいのかもしれません。

API Consoleへアクセスする。 こちら

普通にAPI ConsoleにアクセスするとRedirectでCloud Consoleに飛ばされるようなので、要「noredirect」

16

APIのアクセスを許可する

「API Access」をクリックします。APIへのアクセス情報が表示されます

10

Android用のAPIアクセスキーを生成する

「Simple API Access」「Create new Android key...」をクリックします

11

必要な情報は、先ほどと同じくSHA1のフィンガープリントとパッケージ名です。記述方式が「フィンガープリント;パッケージ名」なのでご注意を。

「Create」をクリックします。API Keyが生成されます

12

Cloud Consoleで確認

必要な情報は生成することができました。Cloud Consoleではどのように表示されているのか確認してみます。
Cloud Console へアクセスします

05

プロジェクトをクリックします。

13

「AndroidKey-日付」という項目が追加されています。中身を確認します

14

先ほど登録した情報がこちらにも正常に反映されているようです。以降はCloud Consoleで確認可能です

複数のアプリケーションを登録できる

一つのAPIキーに対して複数のAndroidアプリケーションを紐づける場合は以下の手順の通り。
「+」ボタンを押すと、追加で登録することができます。

17

増えました。

18

API Consoleでは自由入力欄に改行で打ち込めたようですが、こちらの方が分かりやすいですね。

おわり

公式のリファレンスを見ても特にCloud Consoleへの記述はなく、Cloud Consoleからも決して分かりやすいとは言えない作りになっていたため、API Keyを取得するのに大変苦労しました。
今のところは旧API Consoleを利用しておいた方が安全なようです。但し、旧API Consoleへのアクセス時には、勝手にRedirectされてしまうため、?noredirectオプションを付けておくのを忘れぬよう。
それでは皆様ごきげんよう

参考資料