• 0
Jean

Problemas respondendo pergunta

Question

Fala Galera!

 

Estou tendo problemas para responder as perguntas, estou fazendo assim:

 

        $answer = array(
                "question_id" => $idQuestion,
                "text" => $resposta
        );
        
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, "https://api.mercadolibre.com/answers?access_token=".$token);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $answer);
        $result = curl_exec($curl);
        curl_close($curl);
 
E estou recebendo o erro de parâmetros inválidos:
 
message: "Invalid JSON. Valid attributes are: [question_id, text].", error: "invalid_post_body", status: 400, cause: Array[0]
 
Mas (aparentemente) os parâmetros estão corretos como vocês podem ver na array answer.
 
O que está errado?
 
Valeu.

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Resolvi o problema e vou deixar aqui para futuras consultas, caso alguém precise. Por favor, moderador, pode colocar como resolvido.

 

O problema estava justamente na passagem de parâmetros que não estavam indo como json (pelo menos deduzo isto) e por isso ele não entendia os parâmetros e dava aquela mensagem.

 

Ficou assim:

 

 
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("question_id" => (string)$idQuestion, "text" => $resposta))); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
 
        $result = curl_exec($ch);   
 
Como pode ser visto no código, apenas mudei o jeito de passar os parâmetros acrescentando uma conversão para json.
 
Obrigado Rodrigo e demais.
 
Abraços.

Share this post


Link to post
Share on other sites
  • 0

Olá Rodrigo!

 

Obrigado pela respostas, vamos lá:

 

De fato estava sendo passado como numérico, mas mesmo mudando para string continua o erro e o erro é:

 

  1. cause[]
  2. error"invalid_post_body"
  3. message"Invalid JSON. Valid attributes are: [question_id, text]."
  4. status400

Só que estou passando esses campos então por isso não estou entendendo.

 

 Continuo com o problema e socorrendo a todos do forum.

 

Valeu.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now