前提・実現したいこと
shareTargetPicker を利用してほかのユーザーに
公式アカウントを共有するアプリケーションを作成しています。
その際、重複して共有されることを避けたいため
・誰に送信されたか
・何人に共有されたか
・送信された相手は公式アカウントをフォローしていないか
を確認したいです。
発生している問題・エラーメッセージ
shareTargetPickerの戻り値では共有人数を取得することができません。
また、共有されたユーザーを検知することもできません。
該当のソースコード
<!DOCTYPE html>
<html lang="jp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>********</title>
<script charset="utf-8" src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>
</head>
<body>
</body>
<script>
// LIFFの初期化を行う
liff.init({
// 自分のLIFF ID(URLから『https://liff.line.me/』を除いた文字列)を入力する
liffId: "*****************"
}).then(() => { // 初期化完了. 以降はLIFF SDKの各種メソッドを利用できる
if (!liff.isLoggedIn()) {
liff.login();
}
// 利用者のLINEアカウントのプロフィール名を取得
liff.getProfile().then(profile => {
// プロフィール名
const name = profile.displayName
// HTMLに挿入
// document.querySelector("#name").innerText = name
if (liff.isApiAvailable('shareTargetPicker')) {
liff.shareTargetPicker([
{
'type': 'text',
'text': '一緒に応援しよう!'
}
])
.then(function (res) {
if (res) {
// succeeded in sending a message through TargetPicker
console.log(`[${res.status}] Message sent!`)
} else {
const [majorVer, minorVer] = (liff.getLineVersion() || "").split('.');
if (parseInt(majorVer) == 10 && parseInt(minorVer) < 11) {
// LINE 10.3.0 - 10.10.0
// Old LINE will access here regardless of user's action
//シェアできた
console.log('TargetPicker was opened at least. Whether succeeded to send message is unclear')
} else {
const [majorVer, minorVer] = (liff.getLineVersion() || "").split('.');
if (parseInt(majorVer) === 10 && parseInt(minorVer) < 11) {
setMsg(t('メッセージ送信失敗'));
} else {
setMsg(t('友だち未選択'));
}
}
}
}).catch(function (error) {
// something went wrong before sending a message
console.log('something wrong happen')
})
}else {
setMsg(t('バージョン未対応'));
}
})
})
</script>
</html>
試したこと
動作確認で共有画面に遷移したことまでしか試していません。
補足情報(FW/ツールのバージョンなど)