每天五分鐘
LINE API 輕鬆上手 #23
什麼?LINE開網頁不用跳窗
2019@RenZhou
LINE Front-end Framework 實作篇
昨天了解了LIFF的函式應用
今天就來看看實際範例吧
來準備我們的網頁 step 1
來做一個能夠接LIFF的簡易網站
3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>標題在這裡</title>
</head>
<body></body>
</html>
來準備我們的網頁 step 2
4
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body></body>
<script src="https://d.line-scdn.net/liff/1.0/sdk.js"></script>
<script>
liff.init(
data => {
// Now you can call LIFF API
},
err => {
// LIFF initialization failed
}
)
</script>
</html>
來準備我們的網頁 step 3
5
liff.init(
data => {
// Now you can call LIFF API
liff.getProfile().then(profile => {
// 拿取 profile
})
},
err => {
// LIFF initialization failed
}
)
來準備我們的網頁 step 4
6
<body>
<p>userId: <span id="userId"></span></p>
<p>displayName: <span id="displayName"></span></p>
<p>pictureUrl: <span id="pictureUrl"></span></p>
<p>statusMessage: <span id="statusMessage"></span></p>
</body>
liff.getProfile().then(profile => {
// 拿取profile
document.getElementById('userId').innerHTML = profile.userId
document.getElementById('displayName').innerHTML = profile.displayName
document.getElementById('pictureUrl').innerHTML = profile.pictureUrl
document.getElementById('statusMessage').innerHTML = profile.statusMessage
})
全部的Code大概這樣
7
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<p>userId: <span id="userId"></span></p>
<p>displayName: <span id="displayName"></span></p>
<p>pictureUrl: <span id="pictureUrl"></span></p>
<p>statusMessage: <span id="statusMessage"></span></p>
</body>
<script src="https://d.line-scdn.net/liff/1.0/sdk.js"></script>
<script>
liff.init(
data => {
liff.getProfile().then(profile => {
// 拿取profile
document.getElementById('userId').innerHTML = profile.userId
document.getElementById('displayName').innerHTML = profile.displayName
document.getElementById('pictureUrl').innerHTML = profile.pictureUrl
document.getElementById('statusMessage').innerHTML = profile.statusMessage
})
})
</script>
</html>
部署之路
8
網站檔案
伺服器
http-server
(localhost:8080)
ngrok
(區網網址=>外部網址)
可用
LIFF
網址
“
安裝 http-server 並啟動
9
npm i -g http-server
http-server ./
測試 http-server 是否成功
10
開啟 ngrok
沒 ngrok 的朋友,請先安裝 ngrok , 在前面部署chatbot時有用到
我們一樣用指令開啟,之前用 3000 port 現在改成 8080 port
這樣就好囉,接下來就把網址貼到開發者後台
之後就能來測試我們的LIFF囉
11
./ngrok http 8080
貼到後台 然後... 完成 !!!
12
下集內容預告
差不多要來到LINE Pay了