Telegram 机器人 API 键盘 api return HTTP 响应代码:400

Telegram bot API Keyboard api return HTTP response code: 400

嗨,这有什么问题 JSON

{"chat_id":149003957,"text":"Please Select your Language","reply_markup":{"keyboard":[[{"text":"English"},{"text":"Deutsh"}],[{"text":"Français"},{"text":"PyccKNN"}],[{"text":"Italiano"},{"text":"Espagnol"}]]}}

它在作为 post 请求传递给 Telegram Bot API 方法时给出 HTTP 400 "sendMessage"

i post 您的目标电报机器人 API 并成功收到消息。你的对象没有问题。这是我在 C# 中的示例代码:

private static T Call<T>(string body)
{
    var contentBytes = Encoding.UTF8.GetBytes(body);
    var request = (HttpWebRequest)WebRequest.Create("your bot url" + "methodName");

    request.Timeout = 60 * 1000;
    request.ContentLength = contentBytes.Length;
    request.Method = "POST";
    request.ContentType = @"application/json";

    using (var requestWritter = request.GetRequestStream())
        requestWritter.Write(contentBytes, 0, (int)request.ContentLength);

    var responseString = string.Empty;
    var webResponse = (HttpWebResponse)request.GetResponse();
    var responseStream = webResponse.GetResponseStream();
    using (var reader = new StreamReader(responseStream))
        responseString = reader.ReadToEnd();

    return JsonConvert.DeserializeObject<T>(responseString);
}