LoginSignup
0
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-12-30

初めに

業務で初めてスマートホームスピーカーの開発を行うことになった
今回はその中でも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部分の実装については後編にて記載します

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0