DEV Community

Prayoch Rujira
Prayoch Rujira

Posted on

บันทึก การ Redirect ของ LIFF App

ช่วงนี้วุ่นๆกับการทำ LIFF แล้วติดปัญหาเวลามี parameter แล้วงงกับพฤติกรรมของมันเวลา Redirect
ทาง Line เค้าก็ทำ Video กับ Document อธิบายไว้แล้วแหละ แต่ก็ยังไม่ค่อยเข้าใจอยู่ดี เลยต้องลองด้วยตัวเอง

โจทย์ก็คือ เรามี LIFF Url แบบนี้

https://liff.line.me/1656449211-9Kym0GQ7
Enter fullscreen mode Exit fullscreen mode

เวลาใช้จริงเราก็อยากจะแนบ query parameter เข้าไปด้วย แบบนี้

https://liff.line.me/1656449211-9Kym0GQ7?template_id=1
Enter fullscreen mode Exit fullscreen mode

เมื่อเราเปิด LIFF จากใน line จะเจอว่า มีการเรียกมาที่ /?liff.state=%3Ftemplate_id%3D1

Image description

เมื่อทำการ initialize สำเร็จ จะมีการเรียกเข้ามาอีกครั้งที่ /?template_id=1 และ สามารถอ่านค่า query param ได้

Image description

สรุปว่า query param ไม่ได้หายไปไหน แต่ต้องอ่านให้ถูก ถ้าจะอ่านจาก redirect ครั้งแรก มันจะถูก encode มาใน liff.state
แต่ถ้าจะอ่านจาก redirect ครั้งที่สอง ก็อ่านจาก URL ตามปกติ

Top comments (0)