| 【Next.js,LINE】Next.jsでLINEログイン機能を実装する | LINEログイン機能をNext.jsで実装する方法を学びたい | NextAuth.jsとLIFFを使った2つの方法を紹介。Next.jsのバージョンは14.1.0。 | NextAuth.jsを使う場合、next-authのインストールと構成、LIFFを使う場合、LINE Front-end FrameworkのSDKをインストールし設定を行う方法が提供されている | NextAuth.jsとLIFFの2つの方法でLINEログイン機能を実装できる |
| FastAPIでLINEBotを作成しTerraformでGCPのCloud Runに爆速デプロイする | Pythonで作成したLINE BotをGCPにデプロイする手順やCI/CDの設定がわからない。 | ハッカソンなどでの需要が増加しており、開発を円滑に進めるためにテンプレートが必要。 | Fast APIで開発し、TerraformでGCP Cloud Runにデプロイし、Githubと連携してCI/CDを設定する手順を説明。 | GCPにデプロイされ、CI/CD環境も構築されたLINE Botが動作。 |
| Cloudflare WorkersでLINE Botに送った写真や動画をR2にアップロード | Cloudflare Workersで、たまに画像や動画のアップロードがキャンセルされる。 | Cloudflare WorkersにはリクエストごとにCPU時間が10msという制限があるため、大きなファイル扱い時に問題が発生する。 | 特になし | 軽いファイルは問題なくアップロードできるが、重い動画のアップロードに失敗することがある。 |
| MarkdownをLINEのFlex messageに変換するパッケージを作った | Markdown形式のテキストをLINEのFlexメッセージに変換すると可読性が低くなる | AIチャットボット「先生AI」でChatGPTからの返答がMarkdown形式だったため、そのまま返答すると可読性に難があった | markdown-flex-messageを使用する。convertToFlexMessageメソッドにMarkdownを流し込む。元のMarkdown表示専用ページとリンクを設定 | MarkdownをFlexメッセージに変換するnpmパッケージmarkdown-flex-messageをリリース |
| [Python] ChannelAccessToken v2.1 で LINE BOTを作る | Channel Access Token v2.1 を利用した LINE Bot の開発時に情報不足やハマりどころが多い。 | 従来のチャネルアクセストークン(長期)とチャネルシークレットを利用して構築する方法が多く、Channel Access Token v2.1は新しい手法であり、公式ドキュメントやSDKの情報だけでは初学者には厳しい部分がある。 | アサーションキーペアやJWTの生成、およびChannel Access Token v2.1の発行方法を具体的に説明し、実践するための同コード例を提供する。 | Channel Access Token v2.1 を使うことでトークンの有効期間を自身で設定できるようになった。 |
| Next.js (App Router) でLINE LIFFアプリを爆速スタート! | Create LIFF AppがNext.jsのPage Routerにしか対応していなかったため、App RouterにLIFFの導入を行う必要があった。 | Next.jsのApp Routerを利用して、LINE LIFFアプリを開発する方法を紹介。実際の開発中にApp Routerに対応していない状況に直面。 | Next.jsアプリ開発環境の構築、LIFFパッケージのインストール、ngrokの使用、LIFF IDの設定、使いたいコンポーネントでuseLiffを呼び出す。 | LIFFアプリをNext.jsのApp Routerを使用して開発する準備が整った。 |
| LINE BotをBun、Cloudflare Workersで外部依存モジュールを使用せずに作ってみる - 2024年1月版 | BotをCloudflare Workersで作る時Node.jsのメソッドやモジュールが完全に動作しない。 | Node.jsでは使用できるcryptoモジュールが、Cloudflare Workersではエラーになる。 | Node.jsのcryptoモジュールを使わずに、Web Cripto APIを使用するコードに置き換える。 | Web Cripto APIを使用して代替する必要がある。 |
| 気難しいLIFF | LIFFアプリの動作に関して、ブラウザによる差異があり、特定のブラウザでのみ使用可能なAPIやログイン状態の違いがある。 | マーケティングツールLinyにおいてLIFFアプリを活用し、ブラウザごとの仕様差異を克服するための整理が必要だった。 | LIFFアプリのエントリーポイントでliff.initを必ず呼び出し、動作を確認しながらLIFF URLへのアクセス時の遷移フローを詳細に検証する。 | LIFFアプリの挙動を簡易的なSPAアプリを使って検証し、各ブラウザの動作を理解した。 |
| LINE Bot SDK v3 - Flex Message with Python (Flask) [備忘録] | Flex Message のコーディングが面倒でエラーが頻発する問題がある | LineのMessaging APIとPythonを使ったボット開発時に、特にFlex Messageのネストが深いとKeyErrorやIndexErrorが発生する | Flex Message関連のクラスを使ってオブジェクトを作成し、入れ子構造をトップダウンで構築する形で解決を図る | 公式のline-bot-sdkバージョン3の使用でFlex Messageがオブジェクトの積み重ねで作成可能 |
| 【初めてでも簡単】GASでもできる!LINEでデジタル会員証発行! | LIFFを使った会員証をGASで作成しようとすると、Googleの認証に引っかかる問題 | LINE公式アカウントで会員証の作成と管理者によるポイント加算・減算ができるGASを利用した方法のハンズオン | GASで会員証を作成しWebhook設定を行うことで、1つのLINE公式アカウントで会員証表示とポイント管理を実現 | LIFFを使用せずにGASとLINE公式アカウントを使ってデジタル会員証を作成 |
| Nest.jsでLineBotを作る | Nest.jsでLine Botを作成する手順を詳細に説明すること | 業務でNest.jsを使用する機会があり、そのアウトプットとしてLine Botを作成しようと考えた | ドキュメントの手順に従い、環境構築、LINEコンソールでの設定、service module controllerの作成、動作確認を行う | Nest.jsとLINE Messaging APIを連携させたおうむ返しBotの作成手順を解説した |
| LINE ログインするための React Native Native Module を作る | iOS での「サイト越えトラッキングを防ぐ」設定のために、FirebaseでLINEログイン経由の認証がうまく機能しない。 | LINE社はiOS / Android向けにSDKを提供しており、OpenID Connectを用いた認証実装を行うことで、この問題を解決しようとしている。 | React NativeのNative Moduleを利用して、LINEログイン機能を実装する。また、環境変数の設定や必要なSDKの依存を追加することで対応する。 | 結果として、React NativeアプリケーションでLINEログインを実現し、Firebaseに連携できる。 |
| x-line-signatureを検証可能な形式でAPI GatewayからSQSに送る | API GatewayからSQSに送信されたメッセージのフォーマットが異なるため、LINEのシグネチャ検証が失敗する | API Gatewayで受信したシグネチャをSQSに送信し、ポーリング先で検証したいが、JSONのキー順序が保たれない | テンプレートマッピングで$util.escapeJavaScriptを使い、シグネチャと本文をエスケープして送信する | テンプレートマッピング設定で$util.escapeJavaScriptを使うことで解決 |
| Rails7でLIFFを用いたLINEログインのハンズオンを作ってみた | Railsの7系にLIFF(Line Front-end Framework)を組み込んだアプリの開発で苦戦 | LIFF特有の構文への不慣れや、Rails7のアセット管理方法の多様性、参考資料の不足が要因 | 手順に沿ってRailsプロジェクトの作成、SSL通信の設定、モデルとテーブルの設定、コンソール設定、コードの追加をし、最終的にLINEログインが可能なアプリを完成させる | RailsでLINEログインを実装したアプリのハンズオン説明を提供 |