Android アプリで OAuth を設定する

Home API は OAuth 2.0 を使用して、構造内のデバイスへのアクセス権を付与します。OAuth を使用すると、ユーザーはログイン認証情報を公開することなく、アプリやサービスに権限を付与できます。

認証済みの OAuth クライアント(公開済みのアプリなど)がすでにある場合は、そのクライアントを使用して、新しいクライアントを設定せずに Home API をテストできます。詳細については、既存の OAuth クライアントがある場合をご覧ください。

アプリに署名する

まず、Android Studio でアプリを実行してデバッグ用証明書を生成します。Android Studio でアプリを実行またはデバッグすると、開発とデバッグを目的としたデバッグ用証明書が自動的に生成されます。詳細については、Android Studio: デバッグビルドに署名するをご覧ください。

アプリが実行されたら:

  1. モバイル デバイスをローカルマシンに接続します。Android Studio には、接続されているデバイスがモデル番号別に表示されます。リストからデバイスを選択し、[プロジェクトを実行] をクリックします。これにより、モバイル デバイスにサンプルアプリがビルドされてインストールされます。

    詳しい手順については、Android デベロッパー サイトのハードウェア デバイス上でのアプリの実行をご覧ください。

  2. 実行中のアプリを停止します。

  3. Google Cloud コンソール ヘルプサイトの OAuth 2.0 / ネイティブ アプリケーション / Android の設定に記載されている手順に沿って、デバッグ証明書の SHA-1 フィンガープリントを取得します。

  1. Google Cloud コンソールで、プロジェクト セレクタ ダッシュボードに移動し、OAuth 認証情報の作成に使用するプロジェクトを選択します。
  2. [API とサービス] ページに移動し、ナビゲーション メニューで [認証情報] をクリックします。
  3. この Google Cloud プロジェクトの同意画面をまだ構成していない場合は、[同意画面を構成] ボタンが表示されます。その場合は、次の手順で同意画面を構成します。それ以外の場合は、次のセクションに進みます。

    1. [同意画面を構成] をクリックします。[OAuth 同意画面] ページが表示されます。
    2. ユースケースに応じて、[内部] または [外部] を選択し、[作成] をクリックします。[OAuth 同意画面] ペインが表示されます。
    3. 画面上の手順に沿って [アプリ情報] ページに情報を入力し、[保存して次へ] をクリックします。[スコープ] ペインが表示されます。
    4. スコープを追加する必要はないため、[保存して次へ] をクリックします。[テストユーザー] ペインが表示されます。
    5. [Audience] をクリックし、[+ ユーザーを追加] ボタンをクリックします。
    6. テストユーザーのメールアドレスを入力し、[保存] ボタンをクリックします。
    7. [保存して次へ] をクリックします。[概要] ペインが表示されます。
    8. OAuth 同意画面の情報を確認し、[ダッシュボードに戻る] をクリックします。

詳細については、Google Cloud コンソールのヘルプサイトの OAuth 同意画面の設定をご覧ください。

アプリを登録して認証情報を作成する

OAuth 2.0 用にアプリを登録して OAuth 認証情報を作成するには、OAuth 2.0 の設定の手順に沿って操作してください。アプリのタイプ(ネイティブ/Android アプリ)を指定する必要があります。

アプリの署名で取得した SHA-1 フィンガープリントを、Google Cloud コンソール ヘルプサイトの OAuth 2.0 / ネイティブ アプリケーションの設定の手順に沿って、Google Cloud コンソールで設定した OAuth クライアントに追加します。

モバイル デバイスをローカルマシンに接続した状態で、リストからデバイスを選択し、[プロジェクトを実行] をもう一度クリックして実行します。詳細な手順については、Android デベロッパー サイトのハードウェア デバイスでアプリを実行するをご覧ください。

既存の OAuth クライアントがある場合

公開済みアプリの OAuth クライアントがすでに確認済みの場合は、既存の OAuth クライアントを使用して Home API をテストできます。

Home API のテストと使用に Google Home Developer Console の登録は必要ありません。ただし、別の統合で OAuth クライアントが確認済みであっても、アプリを公開するには承認済みの Developer Console 登録が必要です。

次のことに注意してください。

  • 既存の OAuth クライアントを使用する場合、ユーザー数の上限は 100 人です。テストユーザーの追加については、OAuth 同意画面を設定します。 OAuth の確認とは別に、Home API には、アプリに権限を付与できるユーザーの数に 100 人という制限があります。この制限は、Developer Console の登録が完了すると解除されます。

  • Developer Console登録 は、Home API でアプリを更新する準備として、OAuth を介してデバイスタイプの付与を制限する準備が整ったときに、承認のために送信する必要があります。

OAuth 検証が保留中の Google Cloud アプリの場合、検証が完了するまでユーザーは OAuth フローを完了できません。権限を付与しようとすると、次のエラーが発生します。

Access blocked: <Project Name> has not completed the Google verification process.