Q&A

LINE Messaging APIでプロフィール取得の際にnot foundメッセージが返却される場合がある。

前提・実現したいこと

LINE Messaging APIでプロフィールの取得を正確に行いたいです。

発生している問題・エラーメッセージ

新規で友達登録されたユーザに対してプロフィール取得をすると稀にnot foundのメッセージが返却される場合があります。 プロフィール取得でnot foundメッセージが返却される場合は ①友達登録されていない ②ブロックされている ③アカウントがBANされている ※予想 この辺りだと想定しています。 followイベントをキャッチしてからプロフィール取得しているので、LINE側で友達登録の処理が終わっていないとは思えないのですが、 どういったケースが考えられますでしょうか。 尚、直後にunfollowイベントを受信することが多いです。(物によっては1秒以内)

該当のソースコード

ログ INFO 2020-11-09 16:37:49,470 [http-bio-8080-exec-35] type:line_webhook [follow] webhook WARN 2020-11-09 16:37:49,559 [http-bio-8080-exec-35] type:line_profile lmaUserId=************************ detail=com.linecorp.bot.client.exception.NotFoundException: Not found : ErrorResponse(requestId=b0d85305-e5b6-4dfe-a581-3599e5c7968a, message=Not found, details=[])

試したこと

無し

補足情報(FW/ツールのバージョンなど)

java line-bot-sdk-java利用

  • 0
  • 1
  • 1118
  • twitter facebook

あくまで想像ですが

Webhook の unfollow は、アカウントがブロックされた場合に送信されます https://developers.line.biz/ja/reference/messaging-api/#unfollow-event

尚、直後にunfollowイベントを受信することが多いです。

ということは、友達登録直後にユーザーからブロックされているのではないでしょうか? (LINE の UI 上からは、ブロック/ブロック解除が連打できるので...)

follow 直後にブロックされると、follow を受信した直後にプロフィール取得 API をリクエストしても、タイミングによっては LINE のサーバー上ではブロック処理がすでに実行されている可能性もあると思います。

  • 1
本当によろしいですか? question.vm