Lucas Molina

Members
  • Content Count

    2
  • Joined

  • Last visited

  1. Tentei enviar o plain_text também ("text" e "plain_text" juntos no mesmo JSON), mas tive o mesmo erro. Não acho que o problema esteja no body da requisição, porque o envio está falhando durante o preflight, o PUT nem chega a ser enviado. O browser envia a requisição OPTIONS do preflight do CORS e já retorna o código de erro. Por isso pensei que o erro tivesse a ver com alguma configuração do server. Não usei o SDK porque não achei a API do Mercado Livre tão complicada a ponto de precisar de um SDK e desse jeito eu tenho maior controle sobre o que o meu código está fazendo. Fazer a implementação usando requisições HTTP simples também faz com que seja mais fácil pra mim portar o código para outra plataforma mais pra frente (como Android por exemplo). EDIT: Acabei de fazer mais alguns testes. Fiz duas requisições GET para a mesma URL para obter a descrição atual do anúncio. Em uma das requisições incluí o header "Content-Type" e na outra não. A requisição sem o header funcionou perfeitamente e me retornou a descrição atual do anúncio. A outra requisição, usando o header "Content-Type" (ou seja, usando CORS) me retorna o mesmo erro 404 durante o preflight. Alguém pode me confirmar se a API do Mercado Livre suporta CORS?
  2. Boa Noite, Estou criando uma página web básica usando código javascript para gerenciar as descrições dos meus anúncios. Estou seguindo esse link http://developers.mercadolibre.com/pt-br/descricao-de-produtos/#Adicionar-substituir Estou tentando usar o código abaixo para modificar a descrição de um anúncio ativo: itemId - ID do anúncio (MLB#########) newDesc - string contendo o código HTML da nova descrição function setAdDescription(itemId, newDesc) { var url = "https://api.mercadolibre.com/items/" + itemId + "/description?access_token=" + ACCESS_TOKEN; var requestBody = { text: newDesc } var request = new XMLHttpRequest(); request.open("PUT", url, true); request.setRequestHeader("Content-Type", "application/json"); request.onload = function () { console.log(itemId + " SUCCESS"); }; request.send(requestBody); } E estou recebendo o seguinte erro: XMLHttpRequest cannot load https://api.mercadolibre.com/items/MLB766981409/description?access_token=[VALID_ACCESS_TOKEN] Response for preflight has invalid HTTP status code 404 Já verifiquei a URL e ela está correta. Enviando uma requisição GET para o mesmo endereço consigo obter a descrição atual do anúncio. Olhando a aba de network do Chrome vi que a resposta da requisição OPTIONS do preflight retorna todos os headers corretos do CORS (Access-Control-Allow-Headers/Methods/Origin) Alguém sabe me informar qual o problema? Existe alguma restrição para rodar esse tipo de requisição client-side? Estou executando essa página a partir do domínio localhost, existe alguma restrição quanto a isto? Obrigado por qualquer ajuda