Android アプリで OAuth を設定する

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

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

アプリに署名する

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

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

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

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

  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 2.0 / ネイティブ アプリケーションの設定の手順に沿って、Google Cloud コンソールで設定した OAuth クライアントに追加します。

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

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

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

Google Home Developer Console のテストと使用に Home APIs の登録は必要ありません。 ただし、他のインテグレーションから 検証済みの OAuth クライアントがある場合でも、アプリを公開するには Developer Console登録が承認されている必要があります。

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

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

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

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

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