iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0

Yes

LINE Developers:https://developers.line.biz/zh-hant/
LINE Flex Message Simulator:https://developers.line.biz/flex-simulator/?status=success
Kamiflex Simulator:https://kamiflex.etrex.tw/
JSON Parser:http://json.parser.online.fr/
GitHub 網址:https://github.com/
Kamiflex 網址:https://github.com/etrex/kamiflex
Heroku 網址:https://www.heroku.com/
線上 Ruby 編輯器:https://runrb.io/
Ruby Hash文件:https://ruby-doc.org/core-2.7.1/Hash.html
Ruby Array文件:https://ruby-doc.org/core-2.7.1/Array.html
Ruby String文件:https://ruby-doc.org/core-2.7.1/String.html
HTML Form 文件:https://www.w3schools.com/html/html_forms.asp


上一篇
Day27 - 使用 LIFF 表單收集用戶訊息
下一篇
Day29 - 在 Windows 10安裝 Rails 開發環境
系列文
使用基於 Rails 的 Kamigo 聊天機器人框架開發 LINE Bot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
MCS
iT邦新手 5 級 ‧ 2021-11-25 18:19:58

卡米哥大大您好:
想請問經由resources :todos這種形式所產生的路徑,
是同樣可以藉由用戶的文字訊息去直接開啟的嗎?
我有嘗試過在routes.rb中加入,
get "search", to: "todos#index"
get "add", to: "todos#new",
但下面這種要開啟liff表單的方式卻無法成功,
我也有嘗試過post的method,
但一樣失敗,
想請問這種方式是可行的嗎,
我想建立一個圖文選單然後點選後,
根據回覆的文字去直接開啟liff的表單,
但使用上述的方法無法成功,
想請問我該在哪邊進行改善?

感謝您撥冗閱讀!

當用戶直接在 LINE 對話框輸入文字 xxx 時,會顯示的訊息是對應的 xxx.line.erb 檔案的訊息,這個訊息的格式必須是 LINE Message Object 的 JSON。

而我們的 LIFF 頁面則是寫在 xxx.liff.erb 檔案,其內容為 HTML 格式,要以 liff_path(path: "相對路徑") 來生成進入網址。

例如以你上面提到的

get "add", to: "todos#new"

來說

你需要先做一個 url button 其超連結為 liff_path(path: "/add")

或者你直接將完整網址顯示在文字上,例如

{
  "type":"text",
  "text":"<%= liff_path(path: "/add") %>"
}

用戶在 LINE 點擊 LIFF 網址,即可開啟網頁。

你無法在用戶輸入一段文字後自動替用戶開啟網頁,只能是用戶點擊了某樣東西後開啟網頁。

MCS iT邦新手 5 級 ‧ 2021-11-26 17:55:53 檢舉

非常感謝您的回覆

我要留言

立即登入留言