• 0
Armando

Intento Con C# usar los SDK para crear ITEM

Question

Usando las SDK para crear una publicacion no he logrado entender como terminar de llenar los datos,  Creo que me falta poder cargar este parametro new {foo="bar"}

Making POST calls

var p = new HttpParams().Add("access_token", m.Credentials.AccessToken);

var r = await m.PostAsync("/items", p, new {foo="bar"});

Cabe destacar que "manualmente" usando la herramienta Advanced REST Client , puedo crear publicaciones.

Una vez que observo que puedo crear publicaciones literalmente estoy quemando el mismo codigo para hacerlo desde c#, pero lamentablemente siempre me genera error StatusCode: 400, ReasonPhrase: 'Bad Request

estuve probando enviando string, json, directamente el valor en el parametro pero no logro hacer que funcione

Asi lo veo en el programa  Advanced REST Client ,

{
  "title": "Item de test - No Ofertar AS",
  "category_id": "MCO3530",
  "price": 10,
  "currency_id": "COP",
  "available_quantity": 1,
  "buying_mode": "buy_it_now",
  "listing_type_id": "gold_special",
  "description": "Item de test - No Ofertar Armando Salinas",
  "video_id": "https://www.youtube.com/watch?v=Wqxcip73_pY",
  "attributes": [
    {
      "id": "ITEM_CONDITION",
      "value_id": "2230284"
    }
  ],
  "sale_terms": [
    {
      "id": "WARRANTY_TYPE",
      "value_id": 2230279
    },
    {
      "id": "WARRANTY_TIME",
      "value_name": "90 dias"
    }
  ],
  "pictures": [
    {
      "source": "http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg"
    }
  ]
}

Con la cadena anterior me funciona correctamente .

_________________________-

Pero desde mi código  C#

Lo he puesto asi:

var response = await m.PostAsync("/items",  p , new { title = "Item de test - No Ofertar AS", category_id = "MCO3530", price = 10, currency_id = "COP", available_quantity = 1, buying_mode = "buy_it_now", listing_type_id = "gold_special", description = "Item de test - No Ofertar Armando Salinas", video_id = "https://www.youtube.com/watch?v=Wqxcip73_pY", attributes = "[ { 'id' : 'ITEM_CONDITION', 'value_id': '2230284'} ]", sale_terms = "[{'id': 'WARRANTY_TYPE', 'value_id': 2230279 },{'id': 'WARRANTY_TIME', 'value_name': '90 dias'}]", pictures = "[{'source':'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg'}]" });
__________________

También  así. 

string data = @"{ 'title':'Item de test - No Ofertar AS','category_id':'MCO3530','price':10,'currency_id':'COP','available_quantity':1,'buying_mode':'buy_it_now','listing_type_id':'gold_special','description': 'Item de test - No Ofertar Armando Salinas','video_id': 'https://www.youtube.com/watch?v=Wqxcip73_pY','attributes': [{ 'id' : 'ITEM_CONDITION', 'value_id': '2230284'} ],'sale_terms':[{'id': 'WARRANTY_TYPE', 'value_id': 2230279 },{'id': 'WARRANTY_TIME', 'value_name': '90 dias'}],'pictures':[{'source':'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg'}] }";

var r = await m.PostAsync("/items", p, new {data});

he colocado estas variantes en el codigo

var r = await m.PostAsync("/items", p, data);

Pero En todos los casos me generar el mismo error 400. 

 

Agradezco la colaboración 
           

Edited by Armando

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...