LIFF 打不開?白畫面、400 Bad Request、一直轉圈的三種解法

你做好了 LIFF 頁面(預約表單、會員卡、活動頁),把網址傳給自己測試 —— 結果點開不是想像中的畫面,而是 400 Bad Request、一片白畫面、或無止盡的轉圈圈。
好消息:LIFF 打不開的病因跟症狀幾乎是一對一對應的。先看你的畫面長哪樣,直接跳到對應的段落。
先對號入座:你看到的是哪一種?
- 看到 「400 Bad Request」錯誤頁 → 病因在 LIFF ID,看第一段。
- 看到白畫面或「無法連上網站」 → 病因在 Endpoint URL,看第二段。
- 你自己開得了,客人卻開不了 → 病因在 channel 狀態,看第三段(這個坑最多人踩)。
- 一直轉圈、或卡在登入 → 看第四段。
---
症狀一:400 Bad Request —— LIFF ID 有問題
LIFF 網址的正式格式長這樣:
`https://liff.line.me/{你的 LIFF ID}`(例如 https://liff.line.me/1234567890-AbcdEfgh)
出現 400,代表 LINE 查無此人:這串 LIFF ID 不存在。常見情況:
- ID 複製不完整 —— LIFF ID 是「一串數字 + 橫線 + 一串英數」的組合,斷行時很容易只複製到一半。
- 貼成別的東西 —— 把 Channel ID、Channel Secret 或 Endpoint URL 誤當成 LIFF ID 貼上。長得不像的東西塞進去,當然查無此人。
- LIFF app 被刪掉了 —— 有人在開發者後台把這個 LIFF app 移除,網址自然就死了。
解法:回到開發者後台的 LINE Login channel → 「LIFF」 分頁,找到你的 LIFF app,把 LIFF ID 整串重新複製一次。搞不清楚 LIFF ID 是哪一串的話,先回頭看〈設定 LINE Login & 取得 LIFF ID〉。
⚠️ 順帶一提:如果你在舊教學看過 line://app/… 這種開頭的網址 —— 那是已淘汰的舊格式,不要再用了,一律用 https://liff.line.me/…。
症狀二:白畫面 —— Endpoint URL 出問題
LIFF 的運作方式是:客人打開 https://liff.line.me/… → LINE 查出這個 LIFF app 設定的 Endpoint URL → 轉頭去載入那個網址的內容。
所以「LIFF 網址開得了、但畫面是白的」,代表第一步成功、第二步失敗 —— Endpoint URL 那頭出了狀況:
- 網址填錯:Endpoint URL 打錯字、頁面被搬家或下架了。
- 不是 https:Endpoint URL 強制要求 https,http 開頭直接陣亡。
- 憑證有問題:憑證過期或無效,LINE 拒絕載入。
快速自查:把開發者後台裡填的 Endpoint URL 直接貼到瀏覽器打開 —— 如果瀏覽器也開不出來(錯誤頁、憑證警告),問題就在這裡;修好來源頁面或換成正確網址即可。Endpoint URL 的完整設定教學在〈LIFF Endpoint URL 要回填在哪裡?〉。
症狀三:我開得了,客人開不了 —— channel 還停在 Developing(最隱形的坑)
這個坑值得單獨畫重點,因為它的症狀最詭異:你自己測試一切正常,上線後客人卻回報打不開。
原因:LINE Login channel 有「Developing(開發中)」和「Published(已發布)」兩種狀態。停在 Developing 時,只有這個 channel 的管理員和測試員打得開 LIFF —— 你自己就是管理員,所以你測都是好的;客人不是,所以全數陣亡。
解法:到開發者後台打開你的 LINE Login channel,看名稱旁邊的狀態標籤 —— 如果還是 Developing,把它切換成 Published。就這一個動作。
💡 建議把「channel 已切到 Published」列入上線前的固定檢查項目 —— 這是 LIFF 問題裡回報最多、卻最少人第一時間想到的一個。
症狀四:一直轉圈、卡在登入畫面
畫面有出來但轉圈轉不停、或反覆跳登入,通常是「授權」層面的問題:
- 權限範圍(scope)沒勾:LIFF app 設定裡的 profile、openid 等權限沒有勾選,頁面要取得用戶資料時就會卡住。到 LIFF app 設定裡把需要的 scope 勾上。
- 客人不想按「允許」:第一次打開 LIFF 會跳出授權同意畫面,客人按了拒絕,頁面自然進不去。請客人重開一次、按允許即可。
- 在外部瀏覽器打開:LIFF 頁面在 LINE 裡面打開體驗最完整;貼到一般瀏覽器(Chrome、Safari)會多一道 LINE 登入流程,有些功能也會受限。測試時用 LINE 傳網址給自己、在 LINE 裡點開,才是客人真正的體驗。
完整自查清單
- ✅ LIFF ID 整串複製正確,網址格式是 https://liff.line.me/{LIFF ID}
- ✅ Endpoint URL 用瀏覽器直接開,正常、無憑證警告
- ✅ LINE Login channel 狀態是 Published(不是 Developing)
- ✅ LIFF app 的 scope 該勾的都勾了
- ✅ 測試時是在 LINE 內開啟,不是外部瀏覽器
結論
LIFF 打不開,先看症狀:400 = LIFF ID 錯、白畫面 = Endpoint URL 掛了、只有客人開不了 = channel 忘了切 Published、轉圈 = 授權問題。對號入座,五分鐘內都能找到病因。
💬 對完清單還是開不了?把「LIFF 分頁的設定畫面」和「客人看到的錯誤畫面」截圖傳給我們,我們幫你看。
(本文是「LINE 設定疑難排解」系列的一篇。相關文章:〈Webhook 驗證失敗的完整排查〉/〈LINE 機器人已讀不回的排查清單〉/〈Channel Access Token 失效與 Reissue〉。還沒設定過 LIFF?從〈設定 LINE Login & 取得 LIFF ID〉開始。)



