Bot

JAVAでトークBotのメッセージ送信(text)でエラーが発生しました。

コム

2021.01.08既読 1806

JAVAでトークBotのメッセージ送信(text)でエラーが発生しました。


エラー内容

------------------------------

{"code":"BAD_REQUEST","domain":"common","message":"Malformed json parameter"}

------------------------------

ソース

------------------------------

apiId = LINE WORKS Developerで取得したAPI ID

botNo = LINE WORKS Developerで登録したBot No.

consumerKey = LINE WORKS Developerで登録したServer API Consumer Key

token = LINE WORKS Developerで登録したServer ListのToken

String url = String.format("https://apis.worksmobile.com/r/%s/message/v1/bot/%s/message/push", apiId, botNo);

PostMethod method = new PostMethod(url);
method.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
method.setRequestHeader("consumerKey", consumerKey);
method.setRequestHeader("Authorization", "Bearer " + token);
// JSONデータ設定
SEND_CONTENT_RECORD send_content_record = new SEND_CONTENT_RECORD();
SEND_RECORD send_record = new SEND_RECORD();
send_content_record.setType("text");
send_content_record.setText("test");
send_record.setAccountId(アドレス);
send_record.setContent(send_content_record);
ObjectMapper mapper = new ObjectMapper();
String jsonParams = mapper.writeValueAsString(send_record);
NameValuePair[] parameters = new NameValuePair[1];
parameters[0] = new NameValuePair("params", jsonParams);
method.setRequestBody(parameters);
HttpClient client = new HttpClient();
client.executeMethod(method);
String response = method.getResponseBodyAsString();
System.out.println("response=" + response);
------------------------------
どのような原因が考えられますでしょうか。
どうぞよろしくお願いします。

コメント1

  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    エラー内容が "Malformed json parameter" とありますので、JSON 形式で正しく設定されているかどうかをご確認ください。
    SEND_CONTENT_RECORD クラスが JSON 形式を生成されているようですので、下記ページを参考に設定をご確認ください。
    https://developers.worksmobile.com/jp/document/100500801?lang=ja

    2021.01.14

    0
前の投稿 Botがトークに参加できない
次の投稿コンテンツアップロード時のリソースIDについて
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。