首页 > 解决方案 > 如何使用 C# 和 HttpRequestMessage 在 Trello 中设置自定义字段?

问题描述

我可以使用以下代码请求董事会的卡片和自定义字段:


  string qString = @"https://api.trello.com/1/boards/{boardId}/cards?customFieldItems=true&key={myKey}&token={myToken}";
  using(var request = new HttpRequestMessage(new HttpMethod("GET"), qString))
  {
    var response = await httpClient.SendAsync(request);
    String JsonString = await response.Content.ReadAsStringAsync();

它返回有关卡片的信息,包括以下内容,这些信息讲述了我的自定义字段项:

   {
    "id": "5f5432b72678573fd5e#####",
     "value": {
       "text": "AAA"
     },
     "idCustomField": "5d24ae4cfe7cb10d611#####",
     "idModel": "5f542e224c5d2c2679d#####",
     "modelType": "card"
   }

现在我正在尝试使用以下代码设置值:

    using(var httpClient = new HttpClient())
    {
       using(var request = new HttpRequestMessage(new HttpMethod("PUT"), @"https://api.trello.com/1/cards/" + myCardId + "/" + myCustomFieldId + "/item?" + "key={myKey}&token={myToken}" + "{value: { text: \"New Value\"}}"))
       {
            // i don't know how to set the header content so i commented it out
            //request.Headers.Add("content-type", "application/json");
            var response = await httpClient.SendAsync(request);
            String JsonString = await response.Content.ReadAsStringAsync();

但它回来说它不能放那个......

谢谢,DF

标签: c#trello

解决方案


谢谢你的帮助。

我能够使用这个将 Curl 转换为 C# 的网站找出我的问题:

https://curl.olsh.me/

private async void button4_Click(object sender, EventArgs e)
{
   using(var httpClient = new HttpClient())
   {
       String query = @"https://api.trello.com/1/card/" + myCardId + "/customField/" + myCardsCustomFieldItems_IdCustomField + "/item";
     using(var request = new HttpRequestMessage(new HttpMethod("PUT"), query))
     {
        request.Content = new StringContent("{  \"value\": { \"text\": \"Hello, world!\" }, \"key\": \"########\",  \"token\": \"#######\" }");
        request.Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");

        var response = await httpClient.SendAsync(request);
        String JsonString = await response.Content.ReadAsStringAsync();

        this.textBox4.Text = query;
        this.richTextBox4.Text = JsonString;
      } 
    }
  }

推荐阅读