[Day 28]用Django架构建置专属的LINEBOT吧 - LIFF(I)透过liffpy建立、编辑、删除LIFF

LIFF太重要了,不得不提一下,

LIFF是LINE Front-end Framework的简称,
就是LINE开放给前端网页使用的API,是以JavaScript为基础的API,
也是害我不得不开始涉猎到另一个程序语言的原因,真的是很棒呢!

不过今天要先来说明如何在python为基础的LINEBOT当中新增LIFF网页的方法~

透过liffpy建立、编辑、删除LIFF

关於LIFF是干嘛用的,在这边用简单的说明一下,
LIFF是一个网页架构,他允许资料在网页跟LINE对话框之间进行互动,
除此之外,在LINE对话框当中浏览LIFF网页,可以选择不要开启外部浏览器,
就直接从LINE的对话框当中拉出一个浏览页面,
用说的不清楚,直接来吧~

首先在python的套件中,安装一个叫做liffpy的套件,

$ pip install liffpy

将liffpy套件安装完毕之後,
即可透过liffpy将一般网页的URL转化成LIFF架构,
LIFF架构的网页有三种版型:

type mean
"compact" 50%萤幕高度
"tall" 80%萤幕高度
"full" 100%萤幕高度

在这边就来进行测试吧,

#views.py

from liffpy import (
    LineFrontendFramework as LIFF,
    ErrorResponse
)

liff_api = LIFF(settings.LINE_CHANNEL_ACCESS_TOKEN)

......

elif 'https://' in mtext:
    try:
        #新增LIFF页面到LINEBOT中
        liff_id = liff_api.add(
            view_type="tall",
            view_url=mtext)

        message.append(TextSendMessage(text='https://liff.line.me/'+liff_id))
        line_bot_api.reply_message(event.reply_token,message)
    except:
        print(err.message)

https://ithelp.ithome.com.tw/upload/images/20201013/201211762KlgUPktAS.jpg

上面是丢一串google的网址给他,
接着就会转换成LIFF架构的页面让使用者能够在LINE内部浏览器开启罗,

实际用手机点开LIFF网页的画面如下:
https://ithelp.ithome.com.tw/upload/images/20201013/20121176x0VZjv3p7d.jpg

可以看到他就在对话框当中开启了一个没有完整涵盖的浏览器画面,
这样就是在LINE BOT当中建立了一个LIFF的网页入口罗,

每个LINE BOT透过liffpy可以建立30个LIFF,
LIFF被建立後会有一组唯一的LIFF ID,
这个LIFF ID很重要,最好能够记录下来以免自己忘记他是对应哪个URL,
透过https://liff.line.me + LIFF ID,即可组成LIFF URL,
所以如果要直接产出LIFF网址,
可在程序码中以https://liff.line.me + liff_api.add(view_type="tall",view_url=mtext))组合成,

以下是liffpy的其他函数,可以参照PyPi使用说明

#对指定的LIFF ID的版型与所连结的URL进行更改
liff_api.update(liff_id,
    view_type="full",
    view_url="https://{YOUR LIFF-SITE}")

#获得指定LINE BOT目前建立的所有LIFF ID
liff_api.get()

#将指定的ID的LIFF删除
liff_api.delete(liff_id)

实际操作影片:

手机画面:

今天先简单介绍如何在code中新增LIFF页面罗,
再两篇就完赛了,接下来也会分享一些关於LIFF的心得

GOGOGO~
/images/emoticon/emoticon08.gif


<<:  (Day 30) chequered flag

>>:  第二十九天:做一个总结吧

[Day 2] -『 GO语言学习笔记』- GO语言简介

GO语言简介 Go(Golang)是Google开发的一种语言。2007年,Google设计Go原先...

Day 33 打包-ios (部分)

昨天说的是 Android 今天我们来聊聊如何打包 ios, 但因为没有开发帐号,所以就只说 rea...

离职倒数3天:东京男子图监

刚看了东京男子图监这部剧 让我想到有一次跟同事在惠比寿吃完饭 我们一起到同事K君家续摊的故事 同行的...

理解 HTTP(一):网站内容是怎麽被下载到电脑里的?

你是否曾经好奇浏览网页时,输入的网址为什麽都是 http 开头的? 从网路模型 TCP/IP 聊起,...

乔叔教 Elastic - 27 - Elasticsearch 的优化技巧 (1/4) - Indexing 索引效能优化

Elasticsearch 的优化技巧 系列文章索引 (1/4) - Indexing 索引效能优化...