iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
1
Modern Web

認識LIFF容易嗎?系列 第 18

[Day 18] LIFF GetFriendship

  • 分享至 

  • xImage
  •  

前言

有沒有印象在Line Developers Console中,有一個設定是bot_prompt
這個欄位主要是決定,當用戶第一次使用我們的LIFF APP,認證頁面裡,是否讓加入官方帳號為好友的選項,以分頁型式呈現。
image

我們有辦法知道,用戶是否已經將我們的官方帳號加為好友嗎?
一起來了解liff.getFriendship()吧!

liff.getFriendship()

取得用戶是否已將官方帳號加為好友。執行此方法後,會回傳物件。
其中包含friendFlag屬性,是boolean型別。
如果是true,代表用戶已將官方帳號加為好友;反之為false,則是未加入或封鎖。

實作

liff.init({
 liffId: '後台取得的LIFF ID'
}) .then(() => {
   if (!liff.isLoggedIn()) {
     alert("用戶未登入");
     liff.login();
   } else {
     alert("用戶已登入");
     liff.getFriendship().then(data => {
       console.log('getFriendship', data);
     })
   }
}
}).catch((err) => {
 console.log('初始化失敗')
});

Error

  • 當未先執行liff.login(),會得到:
    image

  • 當Line Login Channel未繫節Line Official Account(簡稱OA):
    image

先前有提到,liff.getFriendship()用途是取得用戶是否已將官方帳號加為好友

如何將LINE OA繫節到你的Channel

以下三個願望須一次滿足:

  • 首先你必須要有個Line官方帳號!
  • 在與Login Channel同個Provider下,要有Messaging API Channel
  • 你要具有Login Channel及Messaging API Channel,兩個Channel的Admin權限

之後到Line Developers Console,Login Channel下有個Basic settings,
完成Linked OA設定:
image

應該就可以Link了吧!?
因為本人沒有官方帳號,所以淡淡帶過這個部分,河河河(尬笑)

參考


上一篇
[Day17] LIFF GetProfile
下一篇
[Day 19] LIFF PermanentLink.createUrl
系列文
認識LIFF容易嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
aa4731073
iT邦新手 4 級 ‧ 2022-07-22 12:19:52

請問一下,關於LINE OA繫節到你的Channel,只有綠盾OA才會出現選項嗎?自己申請了一個灰盾OA ,沒有出現選項。

aa4731073 iT邦新手 4 級 ‧ 2022-07-22 12:27:30 檢舉

看到選項了:
要在OA帳號申請Messaging API,才可以在Linked OA看到選項。

0
arguskao
iT邦新手 3 級 ‧ 2022-12-13 21:37:26

請問link以後可以幹嘛?

我要留言

立即登入留言