如何使用C#和HttpRequestMessage在Trello中设置自定义字段?

如何使用C#和HttpRequestMessage在Trello中设置自定义字段?,c#,trello,C#,Trello,我可以使用以下代码请求董事会的卡和自定义字段: 它返回有关卡的信息,包括以下关于我的自定义字段项的信息: { "id": "5f5432b72678573fd5e#####", "value": { "text": "AAA" }, "idCustomField": "5d24ae4cfe7cb10d611#

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


它返回有关卡的信息,包括以下关于我的自定义字段项的信息:

   {
    "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();

但它回来说它不能把那个

谢谢, 谢谢你的帮助

我可以通过这个将Curl转换为C#的网站来解决我的问题:


您可以发布错误消息吗?JsonString=Cannot PUT/1/cards/{cardd}/{id}/item?key={key}&token={{token}%7Bvalue:%20%7B%20text:%20%22帮助%22%7D%7Dresponse={StatusCode:404,reasonPhase:'notfound',Version:1.1,Content:System.Net.Http.StreamContent,Headers:{X-Dns-Prefetch-Control:off X-Frame-Options:DENY X-Download-Options:noopen X-allowed-Cross-Domain-polics:none-referer Polic…无法放置/1/cards/{cardId}/{CustomFieldId}/item?key={myKey}&token myToken}%7Bvalue:%20%7Btext:%20%22TestName%22%7D%7D当我为标头包含注释掉的行以便可以指定它是application/json时,我得到的错误是:System.InvalidOperationException:'误用了标头名称。请确保请求标头与HttpRequestMessage一起使用,响应标头与HttpResponseMessage一起使用,以及内容标头使用HttpContent对象。”
    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();
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;
      } 
    }
  }