使用 Requests 传送消息
除了可以透过 LINE Message API 传送消息,LINE 也提供使用 requests 的方式传送消息,只要输入正确的 Access Token,就能在任何地方与 LINE 沟通,这篇教学会介绍如何使用 Requests 传送消息。
快速导览:
取得 Access Token
参考“建立 LINE Channel”文章,建立一个 LINE Channel,在 Message API 页签里,取得 Access Token。
reply message 回复消息
下方的程序码,使用 requests 函数库,搭配 LINE reply message 的 API,输入收到消息后的 replyToken,就能向发送消息的用户回复消息 ( replyToken 只有在收到用户发送消息时才会包含在消息里 )。
import requests, json
headers = {'Authorization':'Bearer 你的 access token','Content-Type':'application/json'}
body = {
'replyToken':replyToken,
'messages':[{
'type': 'text',
'text': 'hello'
}]
}
req = requests.request('POST', 'https://api.line.me/v2/bot/message/reply', headers=headers,data=json.dumps(body).encode('utf-8'))
print(req.text)
push message 主动传送消息
下方的程序码,使用 requests 函数库,搭配 LINE push message 的 API,输入指定用户的 user ID,执行程序后,就能向用户发送消息。
参考:Requests 函数库、解析 LINE 的消息 ( 从消息中可以看到 user id )、建立 LINE Channel ( 可以看到自己的 user id )
import requests, json
# 注意前方要有 Bearer
headers = {'Authorization':'Bearer 你的 access token','Content-Type':'application/json'}
body = {
'to':'你的 user ID',
'messages':[{
'type': 'text',
'text': 'hello'
}]
}
# 向指定網址發送 request
req = requests.request('POST', 'https://api.line.me/v2/bot/message/push',headers=headers,data=json.dumps(body).encode('utf-8'))
# 印出得到的結果
print(req.text)
文字消息格式
使用下方的格式,会传送文字消息。
{
"type": "text",
"text": "Hello, world"
}
表情贴图格式
使用下方的格式,会传送指定的表情,packageId 为表情包 id,stickerId 为表情贴图 id ( 参考:List of available stickers )。
{
"type": "sticker",
"packageId": "446",
"stickerId": "1988"
}
图片消息格式
使用下方的格式,会传送网络上的某张图片 ( 需有图片网址 ),originalContentUrl 表示原始图片大小,previewImageUrl 表示消息中的预览图片。
{
"type": "image",
"originalContentUrl": "https://example.com/original.jpg",
"previewImageUrl": "https://example.com/preview.jpg"
}
影片消息格式
使用下方的格式,会传送网络上的某支影片 ( 需有影片网址 ),originalContentUrl 表示原始影片,previewImageUrl 表示消息中的预览图片。
{
"type": "video",
"originalContentUrl": "https://example.com/original.mp4",
"previewImageUrl": "https://example.com/preview.jpg",
"trackingId": "track-id"
}
声音消息格式
使用下方的格式,会传送网络上的某段声音 ( 需有声音网址 ),originalContentUrl 表示原始声音,duration 声音长度。
{
"type": "audio",
"originalContentUrl": "https://example.com/original.m4a",
"duration": 60000
}
地点位置消息格式
使用下方的格式,会传送地点位置消息,title 表示地点名称,address 地址,latitude 纬度,longitude 经度。
{
"type": "location",
"title": "my location",
"address": "1-6-1 Yotsuya, Shinjuku-ku, Tokyo, 160-0004, Japan",
"latitude": 35.687574,
"longitude": 139.72922
}
小结
透过 Requests 的方法,就能让 LINE 的用途更加广泛,除了上述的消息格式,也可发送样板按钮、Flex Message...等,更多消息格式可以参考:Message objects。
微信扫码关注
抖音扫码关注