関連リンク
- LIFF×Vue×Flask×Cloud Runアプリ実装(LINEアプリ)①
- LIFF×Vue×Flask×Cloud Runアプリ実装(LINEアプリ)②
- LIFF×Vue×Flask×Cloud Runアプリ実装(LINEアプリ)③
上記で作成した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を初めて扱うので概念や用語などをメモします。
RDB | Firestore | 補足 |
レコード | ドキュメント | データの単位 ドキュメントは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件のフィードバック