iT邦幫忙

2023 iThome 鐵人賽

DAY 23
1
Software Development

再騙小心沒朋友🥵 用LIFF實作LINE整人工具系列 第 23

[Day23] 被我發現 Share Target Picker 的秘密ㄌ🤫

  • 分享至 

  • xImage
  •  

平常使用 LINE 傳訊息的時候只能傳送文字、圖片、語音訊息,只有在使用 LINE 特定功能(轉帳、爬梯子、送禮物) 才可以用你的名義傳送圖文訊息給朋友。除非你用的是 LINE@ 官方帳號,不然是不可能把你想要傳的圖文訊息分享給朋友的~

破解用個人帳號傳送圖文訊息

其實有一個方法能夠破解無法用個人帳號傳送圖文訊息的都市傳說,那就是 Share Target Picker。他可以從 LIFF 中選擇訊息的分享目標並發送指定訊息,而且可以直接從外部瀏覽器選擇要分享的好友或群組分享訊息,不用在 LINE 裡面開啟。
要使用 Share Target Picker 要申請一組 LIFF ID,在第四天的文章有教學。需要注意申請的 LINE Channel 要把 shareTargetPicker 的權限打勾,不然就沒辦法使用 shareTargetPicker 的方法分享訊息:

⬆ 這個要打勾

shareTargetPicker 使用方式

用 shareTargetPicker 傳送訊息:

liff.shareTargetPicker(messages, options);

messages 代表傳送訊息的種類,有下列幾種:

  • Text message(純文字)
  • Image message(圖片)
  • Video message(影片)
  • Audio message(錄音檔)
  • Location message(座標位置)
  • Template message(平常你在LINE@官方帳號看到的圖片訊息)
  • Flex Message(圖文訊息)

如果要傳送純文字訊息,就要把 type 指定為 "text",如果要指定其他種類的訊息可以看 Message Objects網站找出你要傳的訊息 type。

shareTargetPicker 可以根據你想傳送的訊息種類去指定要傳送的目標,假如要傳送文字訊息可以這樣寫:

liff.shareTargetPicker([
  {
    type: "text",
    text: "this is a test message"
  }
])
  .then(
    alert("ShareTargetPicker was launched")
  ).catch(function(res) {
    alert("Failed to launch ShareTargetPicker")
  })

shareTargetPicker 執行後會回傳一個 Promise 物件,只要傳送失敗或是臨陣取消都會執行 catch 區塊的程式碼(你看用到了吧!不知道 Promise 是什麼的回去看第19天的文章)。
如果想測試 shareTargetPicker 的結果可以去 LIFF Playground 玩玩看。

而這個範例要傳送的圖文訊息的 type 是 flex,因為圖文訊息的結構很複雜,所以會增加 altText 和 contents 參數,altText 是在傳圖文訊息時對方會收到的訊息文字提示;contents 是圖文訊息的內容:

liff.shareTargetPicker([
				{
					"type": "flex",
					"altText": name + "送禮物來囉!",
					"contents": {
						"type": "bubble",
						"size": "kilo",
						"hero": {
							"type": "image",
							"url": "https://img.onl/olwxWE",
							"size": "full",
							"aspectRatio": "18:19",
							"action": {
								"type": "uri",
								"label": "action",
								"uri": "https://www.google.com.tw/?hl=zh_TW"
							}});

這個內容我只寫了一小部分(因為完整的內容太長了),明天再教怎麼無痛做出要傳的訊息模板。


上一篇
[Day22] 用 LINE API 拿到登入者的個資😡(合法)
下一篇
[Day24] 用 FLEX MESSAGE SIMULATOR 製作 LINE 圖文訊息
系列文
再騙小心沒朋友🥵 用LIFF實作LINE整人工具30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言