LINEミニアプリ(Vue×Flask×CloudRun×Firestore)

関連リンク

上記で作成したLIFFアプリを用いて、LINEミニアプリを作りたいと思います。

コンソールからミニアプリ登録

公式ドキュメントはこちら

項目に入力して作成ボタンを押下

ミニアプリのコンソール画面ができました。

LIFF URLとエンドポイントURLを紐付け

ウェブアプリ設定タブのエンドポイントURLを前の記事で作成したCloud RunのURLに変更します。

URLをスマホで開くと

この許可画面が表示されます。
(未認証だと「LINEヤフー株式会社は提供元を確認していません。」という文言が出るみたいです)

許可すると

LIFFで作成した画面が表示されました。

が、LIFF IDがそのままだと使えないみたいです。

こちらに以下の記載がありました。

liffidを変更すると正常に動作することを確認できました。

LINE公式アカウント作成

検証の際に、公式アカウントがあった方がやりやすいと思ったので作成します。

こちらのURLから作成

必要な情報を入力して作成

アカウントが作成できたら、リッチメニューを作成(こちらから)

ここで、必要な画像とミニアプリのURLを登録しておけば、タップしてページが表示できるようになります。

Firestoreからのデータ取得

公式ドキュメントはこちらこちらも参考にしました)

今回はデータベースとしてFirestoreを使用します。

Firestore APIの有効化

まずはこちらから、Firestoreを使用するためのAPIを有効化します。

Firestoreのデータベース作成

こちらにアクセスしてデータベースを作成します。
この作業は、複数のデータベースが必要な場合のみです。

無料枠などもdefaultにしか適用されなそうなので、
1つのデータベースでよければ、デフォルトを使用します。(こちらの記載を参考)

ネイティブモードとDatastoreモードの選択がありますが、
新規作成ならネイティブモードで問題なさそうなので、ネイティブモードで作成します。

データベース名、リージョンなどを入力してデータベースを作成します。

Firestoreメモ

Firestoreを初めて扱うので概念や用語などをメモします。

RDBFirestore補足
レコードドキュメントデータの単位
ドキュメントはJSONっぽい形式
テーブルコレクションドキュメントをコレクションという単位でまとめる。
??サブコレクションドキュメントの中でデータをグループ化する際に使用
ドキュメント内の単位であることに注意

Firestoreにデータ追加

一旦、コンソール画面からテストデータを作成してみます。

Firestoreの画面でコレクションを開始を押下

必要な内容を作成して保存を押下

こんな感じでデータを作成しました。

Pythonにライブラリ追加

requirements.txtに以下のようにライブラリを追加

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
flask_restful
google-cloud-logging
google-cloud-firestore

Firestoreからデータを取得する処理を追加

以下のような処理を追加します。

from google.cloud import firestore

def getMemberInfo():
    db = firestore.Client()
    data = db.collection("tsuna_test").document("tsuna_test").get().to_dict()
    logger.info(f"firestore:{data}")
    return jsonify(data), 200

「LINEミニアプリ(Vue×Flask×CloudRun×Firestore)」への1件のフィードバック

コメントする