Android アプリで OAuth を設定する

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

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

アプリに署名する

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

アプリが実行されたら、次の操作を行います。

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

    詳しい手順については、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. [対象ユーザー] をクリックし、[+ ユーザーを追加] ボタンをクリックします。
    6. テストユーザーのメールアドレスを入力し、[保存] ボタンをクリックします。
    7. [保存して次へ] をクリックします。[概要] ペインが表示されます。
    8. OAuth 同意画面の情報を確認し、[ダッシュボードに戻る] をクリックします。

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

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

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

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

モバイル デバイスをローカルマシンに接続した状態で、リストからデバイスを選択し、[Run project] を再度クリックして実行します。詳細な手順については、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.