(Telegram bot)JSON发布请求不起作用

时间:2016-10-18 05:40:37

标签: java json telegram-bot

我正在尝试向我正在发送的邮件的接收者显示自定义键盘。

但是,我不确切知道原因,但是当我尝试在json String中附加reply_markup参数时,以下代码不能正常工作。

我猜这是因为我以错误的方式放置了reply_markup数组,但无法找到解决方法。

String query = "https://api.telegram.org/bot{token}/sendmessage";
String json = "{\"chat_id\":188784029,\"text\":\"123123\",\"reply_markup\":{\"keyboard\":[['1','2'],['3','4']], \"one_time_keyboard\":true}}";

URL url = new URL(query);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");

OutputStream os = conn.getOutputStream();
os.write(json.getBytes("UTF-8"));
os.close();

// read the response
InputStream in = new BufferedInputStream(conn.getInputStream());
String result = org.apache.commons.io.IOUtils.toString(in, "UTF-8");


in.close();
conn.disconnect();

1 个答案:

答案 0 :(得分:0)

您的JSON无效,因为您应该使用"而不是'

['1','2'],['3','4']

应替换为:

["1","2"],["3","4"]