Android アプリで OAuth を設定する

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

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

アプリに署名する

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

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

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

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

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

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

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

    1. [同意画面を構成] をクリックします。OAuth 同意画面が表示されます。
    2. ユースケースに応じて [内部] または [外部] を選択し、[作成] をクリックします。[OAuth 同意画面] ペインが表示されます。
    3. 画面上の手順に沿って [アプリ情報ページ] に情報を入力し、[保存して次へ] をクリックします。[スコープ] ペインが表示されます。
    4. スコープを追加する必要はありません。[保存して次へ] をクリックします。[Test users] ペインが表示されます。
    5. アプリへのアクセスをテストするユーザーを追加する場合は、[ユーザーを追加] をクリックします。[ユーザーを追加] ペインが表示されます。テストユーザーには、アプリで権限を付与する権限があります。
    6. 空のフィールドに 1 つ以上の Google アカウントのメールアドレスを追加し、[追加] をクリックします。
    7. [保存して次へ] をクリックします。[Summary] ペインが表示されます。
    8. OAuth 同意画面の情報を確認して、[ダッシュボードに戻る] をクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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