如何使用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;
}
}
}