Q&A
概要
LINE ログインした時、注文明細をチャットに送信するコードを書いています。
処理の流れ
- LINEログイン時にこちらのAPIにGETリクエスト来ます。
- リクエスト受信し、チャットへ送信するデータを生成し、チャットへ送信します。(この処理が少し遅い)
- GETリクエストのリダイレクトのレスポンスを返します
- ユーザーはリダイレクトのレスポンスから自動的にLINEを開きログインが完了します。
コード
APIはAPI Gateway、処理はLambdaで行っています。
TypeScript
1export const handler=async(event:APIGatewayEvent,context:Context, callback:Callback)=>{ 2 const param:any = event.queryStringParameters 3 console.log(param) 4 // 時間がかかる処理 5 callback(null, { 6 statusCode: 302, 7 "headers": { 8 "Location": "https://line.me/R/oaMessage/@lineat/" 9 } 10 }) 11}
問題点
上記の②の処理に1〜3秒掛かり、ユーザーを待たせることになります。
リクエストを受け取ってスグにリダイレクトのレスポンスを返して、先にユーザーにLINEのチャット画面を開いておいてもらいたいです。
恐らく、API GatewayでX-Amz-Invocation-Typeをeventにするのだと思いますが、リダイレクトのレスポンスを返す方法がわかりません。
どこを設定すれば良いか教えて頂けませんか?
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。