Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8957

APIGWとlambdaでGoogleスマートホームアプリを作成してみた[前編]

$
0
0

初めに

業務で初めてスマートホームスピーカーの開発を行うことになった
今回はその中でもGoogleHomeの開発について備忘録的に、実施事項を記載していく

注意事項

本投稿記事は2020年12月時点の仕様に基づいた実装となります

参考記事

Google Assistant 公式ドキュメント

この記事で書いていくこと

  • cognitoを利用したアカウントリンクの実装 <- ★本記事ではこちらを実施
  • APIGateway+lambdaを利用して、Googleスマートホームアプリのコード実装と各種設定

この記事で書かないこと

  • 基本的なGoogleスマートホームアプリの作成手順について

事前に用意しておくもの

  • Googleアカウント
  • Googleアカウントに紐づく(Cloud IAM)GCPアカウント

1. 事前設定

プロジェクトやアプリの初期セットアップについては、以下の記事を参考に実施しました
Googleスマートホームアプリの作成方法

2. [AWS]Cognito初期設定

  1. AWSコンソールから[cognito]->[ユーザプールを作成する]を押下
  2. プール名は任意のものを入力(例ではAccountlink_googleと入力)
  3. 画面下の[デフォルトを確認する]を押下
  4. [プールの作成]を押下 Screen Shot 2020-12-30 at 17.20.42.png

3. [AWS]Cognitoアカウントリンク設定

  1. cognitoの設定画面から[アプリクライアント]からapiを実行するための新規IDとシークレットキーを作成
    Screen Shot 2020-12-30 at 17.35.24.png

  2. [ドメイン名]から任意のcognitoドメインを作成
    Screen Shot 2020-12-30 at 17.38.58.png

  3. [アプリクライアントの設定]にて以下を設定

    • 有効な ID プロバイダ: Cognito User Pool
    • コールバック URL: https://oauth-redirect.googleusercontent.com/r/[Actions on googleのプロジェクトID]
    • サインアウト URL: https://gala-demo.appspot.com/ ※Googleで提供しているサンプルUIを利用します
    • 許可されている OAuth フロー : [Authorization code grant]にチェック
    • 許可されている OAuth スコープ :email, openid Screen Shot 2020-12-30 at 17.43.33.png

4. [Actions on google]アカウントリンク設定

  1. アクションのコンソールにログイン
  2. [Account linking]にて以下を設定
    • Client ID issued by your Actions to Google: cognitoのクライアントID
    • Client secret : cognitoのシークレットキー
    • Authorization URL: https://<ドメイン名>.auth.ap-northeast-1.amazoncognito.com/oauth2/authorize
    • Token URL: https://<ドメイン名>.auth.ap-northeast-1.amazoncognito.com/oauth2/token
    • scope: emailとopenidを一つずつ追加 Screen Shot 2020-12-30 at 18.02.11.png

一旦ここまででアカウントリンクの実装までは完了
APIGWとlambda部分の実装については後編にて記載します


Viewing all articles
Browse latest Browse all 8957