既読APIの一般公開
2025年11月5日に既読APIが法人ユーザーだけでなく、誰でも使えるようになりました。
既読APIとは
なんでわざわざ既読をAPIで、、、LINE公式アカウントを使ったbotなら既読が勝手につくから関係ない!
と、思われるかもしれないのですが、既読がつかない場合があります。
それは、応答設定でチャットをONにしていた場合です。
・チャットをONにしていてwebhookを併用することはない!
・webhookを使っているのにチャットをONにすることはない!
ということがほとんどだと思うのですが
・基本はwebhookを使ったbotで応答しているが、個別対応が必要なものはチャットで対応する
という運用の場合、併用することが多くあります。
その場合、botやオフィシャルアカウントマネージャーで自動応答した場合は、既読がつかず
オフィシャルアカウントマネージャーのチャット画面でメッセージを開くまで既読がつかないということになります。
以前はwebhookとチャットは併用ができなかったのですが、2022年12月1日より、チャットとwebhookの併用ができるようになりました。
既読APIと使うときに利用する、既読トークン
既読トークンってどこにあるの??っと思ったのですが
毎回メッセージを送るたびに送られておりました。
{"type":"message",
"message":
{
"type":"text",
"id":"593000101958385840",
"quoteToken":"jLXhZ4-RHoqbmudH0zR8l1N9J************",
"markAsReadToken":"MHo994SECoNEC4-0nWmS****************", //←既読APIに使う既読トークン
"text":"おはよう"
},
"webhookEventId":"01KCZEEQCFZXG**********",
"deliveryContext":
{
"isRedelivery":false
},
"timestamp":1766286908304,"source":
{
"type":"user","userId":"U799b8d72b1a6a**********"
},
"replyToken":"72ce31e6778246fc**********",
"mode":"active"
}
このmarkAsReadTokenを指定して、既読APIを送ります
既読APIをGASで作ってみた
function markAsRead() {
var markAsReadToken ="markAsReadTokenのID"
const url = 'https://api.line.me/v2/bot/chat/markAsRead';
const payload = {
markAsReadToken: markAsReadToken
};
const params = {
method: 'post',
headers: {
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
'Content-Type': 'application/json'
},
payload: JSON.stringify(payload),
};
上記のコードで、送られてきたメッセージの「markAsReadToken」を指定すれば、そのメッセージは既読がつきます!
送られてきたメッセージ毎に既読をつける場合は、上記の様なコードを組み込みましょう!!
どこまで既読がつくのか
メッセージが連続で送られてきた場合に、1つ1つ既読APIで既読をつける場合は特に問題ないのですが、
何かのタイミングで既読をつける際、1つ1つ既読APIで既読をつける必要があるのか?
もしかしたら、1回既読APIをつければ、全部つくのでは!?ということで、検証
チャットONで、WEBHOOKオンだとこのように既読がつきません。
一番最後のメッセージのmarkAsReadTokenを指定して、既読APIを実施してみます

そこまで送られてきたメッセージすべてに既読がつきました!!
次は、最初のメッセージのmarkAsReadTokenに既読APIを送ります
最初の文字だけに既読がつきました!
最後に真ん中のメッセージのmarkAsReadTokenに既読APIを送ります
連続で送っているのに途中までの既読をつけることができました!!
この検証により、
【既読APIを送ったメッセージまでものに既読がつく】
ということがわかりました!
毎回、送られてきたメッセージに既読APIを送るのが普通だと思いますが、
何かしらのタイミングで既読をつけるということがありましたら、この検証結果を参考にしていただければと思います!
LINEdevelopercommunityでは、LINEに関する勉強会は、ほぼ毎週いろいろやっております!
ぜひぜひ、お気軽にオンライン・オフラインのイベントにご参加ください!!



