【问题标题】:How to send post request of Messaging API如何发送 Messaging API 的 post 请求
【发布时间】:2020-02-23 12:16:13
【问题描述】:

我想做的事

我想通过以下链接发送“发布请求”。更具体地说,当您打开链接时,您会看到如下所示的“示例请求”。

'{
    "messages":[
        {
            "type":"text",
            "text":"Hello, world1"
        },
        {
            "type":"text",
            "text":"Hello, world2"
        }
    ]
}'

在示例中它发送两条消息,但我只想发送一条。

我不会用 C# 写代码

发送广播消息

这是我正在努力的代码。

        // To creat HttpClient
        var client = new HttpClient();

        // Accesstoken
        var accessToken = "my token";

        // URL
        var url = "https://api.line.me/v2/bot/message/broadcast";



        var request = new HttpRequestMessage(HttpMethod.Post, url);
        // Request Header
        request.Headers.Add("Authorization", "Bearer " + accessToken);
        var parameters = new Dictionary<string, string>()
        {
            { "type", "text" },
            { "text", "Hello World" }
        };

        var parameters2 = new Dictionary<string, Dictionary<string, string>>()
        {
            { "messages", parameters}
        };

        var str = @"{""messages"":""  {""type"": ""text"",""text"" : ""Hello World""}""}";



        var content = new JObject(str);


        request.Content = new StringContent(
            content.ToString(),
            Encoding.UTF8,
            "application/json"
        );

        await client.SendAsync(request);

当然不行

问题⓵

如何用 C# 编写示例???

问题⓶

如果可以,能否提供从头开始发送广播消息的整个过程?

附言

对于那些担心的人,我仍在收集第一个问题的答案,并努力使其发挥作用。

【问题讨论】:

  • 这不是问题。这是业务需求。你应该研究,尝试做一些事情,然后如果你有任何特定的代码问题,你可以问。但是代码在哪里?我没有看到。

标签: c# json post messaging


【解决方案1】:

我解决了这个问题。

流程如下。

  1. 点击此链接http://json2csharp.com/开课

  2. 序列化

3。 将 ToString() 用于序列化的 json

而整个代码是这样的

            // To creat HttpClient
            var client = new HttpClient();

            // Accesstoken
            var accessToken = "my token";

            // URL
            var url = "https://api.line.me/v2/bot/message/broadcast";

            // Post
            var request = new HttpRequestMessage(HttpMethod.Post, url);


            // Request Header
            request.Headers.Add("Authorization", "Bearer " + accessToken);

            // To create messages
            var message1 = new Message("text", "Hello World1");
            var message2 = new Message("text", "Hello World2");
            var root = new RootObject();
            root.addMessage(message1);
            root.addMessage(message2);

            // To serialize
            var json = JsonConvert.SerializeObject(root);

            request.Content = new StringContent(
                json.ToString(),
                Encoding.UTF8,
                "application/json"
            );

            await client.SendAsync(request);

【讨论】:

    猜你喜欢
    • 2018-11-02
    • 1970-01-01
    • 2020-11-24
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多