Q&A

X-Line-Retry-Key の取得方法を教えてください。

前提・実現したいこと

API リクエストの再試行を実現したいのですが、リトライキーの取得方法が分からないので、教えてください。

また、リトライキーに関して質問します。リトライキーは、メッセージを送信した場合に必ず発行されるものでしょうか?あるいは、リクエストエラーの場合にのみ発行されるものでしょうか?

該当DOCUMENT URL "https://developers.line.biz/ja/reference/messaging-api/#retry-api-request"

該当のソースコード

RubyでAPIを使っています。

コード1 response = client.push_message('U878940ca83ef9d537859931b4623af17', message) p response.body コード1 実行結果 "{}"

コード2(メッセージ数を変えて、エラーを発生させる) response = client.push_message('U878940ca83ef9d537859931b4623af17', message) p response.body コード2 実行結果 "{"message":"The request body has 1 error(s)","details":[{"message":"Size must be between 1 and 5","property":"messages"}]}"

  • 0
  • 2
  • 2888
  • twitter facebook

Shoya Shiraki さん ご回答ありがとうございます。実現することができました。

よろしければ、私のもう一方の質問 "Request IDの取得" もご覧頂き、何か情報提供頂ければ嬉しいです。

  • 0

X-Line-Retry-Key 任意の方法で生成した16進表記のUUID

と記載があるように、リトライキーはLINE APIのレスポンスからの取得ではなく自分で生成したUUIDを使用します。

Ruby SDKの下記のコードを参考にしてみてください。

https://github.com/line/line-bot-sdk-ruby/blob/30a3bc85d075b66d65714123bbfab3b35930eaa7/spec/line/bot/client_spec.rb#L153

  • 0
Are you sure? question.vm