JAVAでトーク Bot のメッセージ送信 (text) sendMessage がうまくいきません。
投稿内容は全体に公開されます。
アカウント名やドメイン名、 ConsumerKey などの非公開情報は記入しないでください。
JAVAでトーク Bot のメッセージ送信 (text) sendMessage がうまくいきません。
https://developers.worksmobile.com/jp/document/1002003/v1?lang=ja
の「サーバー API サンプルコード」を参考に作成しましたが下記のエラーが出てしまいます。
{"errorMessage":"Service fail, HTTP/1.1 400 Bad Request,
{\"code\":400,\"message\":\"invalid character 'p' looking for beginning of value\"}",
"errorCode":"090", "code":"SERVICE_UNAVAILABLE"}
※API_IDなどの基本的な情報は
CURLで動作確認できたものからコピーしているので問題ないと思います。
どのような原因が考えられますでしょうか?
どうぞよろしくお願いいたします。
以下ソースコードとなります。
===
public class Main {
public static void main(String[] args) {
HttpClient client = new HttpClient(); //バージョン3系
// ソケットタイムアウトは 1秒
client.getParams().setParameter("http.socket.timeout",
new Integer(1000));
String consumerKey = "<省略>";
String token = "<省略>";
// URIを指定して POST を生成
PostMethod method = new PostMethod(url);
method.setRequestHeader("consumerKey", consumerKey);
method.setRequestHeader("Authorization", "Bearer " + token);
/* JSONデータ設定 */
NameValuePair[] parameters = new NameValuePair[1];
parameters[0] = new NameValuePair("params",
"{\"botNo\":<省略>," +
"\"accountId\":\"<省略>\"," +
"\"content\":{" +
"\"type\":\"text\"," +
"\"text\":\"testmsg-from-java\"" +
"}" +
"}");
method.setRequestBody(parameters);
try {
client.executeMethod(method);
String response = method.getResponseBodyAsString();
System.out.println("response=" + response);
} catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
} finally {
// 接続を解放
method.releaseConnection();
}
}
}
===
投稿に新しいコメントが追加されましたら通知を送信します。
コメント0
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。