2017-02-17 6 views
0

Googleホームの操作を作成しようとしています。私の新しい行動のために、私は私のウェブサイトでユーザーの承認を求める必要があります、私はユーザーを識別する必要があります。このユーザーのためには、私のウェブサイトにリンクされたGoogle Homeアプリで自分の行動を見つけてサインインする必要があります。 私の質問は次です。エミュレータだけを使ってこれをすべて作成する機会はありますか? Googleホームデバイスがないと何もできません。Googleホームの操作

答えて

2

実際のデバイスを持っているかのようにスムーズに動作するわけではありませんが、エミュレータを使って実装してテストすることは間違いありません。手順は、「アカウントのリンク」として知られており、https://developers.google.com/actions/develop/identity/oauth2-overviewで詳述されているが、一般的にフローは次のとおりです。

  1. あなたのサービスがOAuth 2.0のサーバとして動作し、に利用できる認証ページとトークン交換のエンドポイントを持っている必要があります Googleアシスタント
  2. 初めてユーザーがあなたのアクションをアクティブにすると、自分のアカウントにアクセスするためのホームアクセス権を与える必要があるとのメッセージが表示され、Googleホームアプリでカードを確認する必要があります。
  3. カードは認証ページにリダイレクトされ、ウェブサイトにログインし、Googleホームからサイトへのアクセスを承認します。
  4. 承認の一部として、OAuth 2.0のフローを続行し、Googleホームに保存されるベアラトークンを(最終的に)発行します。
  5. ユーザーは、アクションを再度トリガーできます。 Webhookが呼び出されるたびに、Googleトークがこのトークンをあなたに送信します。
  6. このトークンを使用して、どのユーザーが要求を行っているかを調べることができます。

GoogleのドキュメントとOAuth 2.0仕様で説明されている詳細はたくさんありますが、これは一般的にどのように動作するのですか。

エミュレータの場合、ユーザーはGoogle Homeアプリのカードには誘導されません。その代わりに、エミュレータが最初にActionをアクティブにするときにJSONを返したときにそれを見ることができます。その中には、debugInfo.sharedDebugInfo.debugInfoフィールドに認証URLが含まれています。ブラウザのURLに移動し、サインインと承認フローを完了し、最終的にパラメータresult_code=SUCCESSを含むURLにリダイレクトされます。その後、エミュレータを使用してWebHookにアクセストークンを送信します。詳細については、https://developers.google.com/actions/tools/testing#testing_on_the_google_home_web_simulatorを参照してください。

+0

ありがとうございました!それは私にとって非常に有益な情報です。 –

関連する問題