• 0
AUTOPEÇASCARLÃOECOMMERCE

Atualizar descrição do anuncio

Question

Bom galera!

 

Este é meu código de teste!

$meli = new Meli($appId, $secretKey);

if ($_GET['code']) {

    // If the code was in get parameter we authorize
    $user = $meli->authorize($_GET['code'], $redirectURI);

    // Now we create the sessions with the authenticated user
    $_SESSION['access_token'] = $user['body']->access_token;
    $_SESSION['expires_in'] = $user['body']->expires_in;
    $_SESSION['refrsh_token'] = $user['body']->refresh_token;

    // We can check if the access token in invalid checking the time
    if ($_SESSION['expires_in'] + time() + 1 < time()) {
        try {
            print_r($meli->refreshAccessToken());
        } catch (Exception $e) {
            echo "Exception: ", $e->getMessage(), "\n";
        }
    }

    $params = array('access_token' => $_SESSION['access_token']);

    $body = array('plain_text' => 'novo');
    $response = $meli->put('/items/MLB1151850129/descriptions', $body, $params);
    print_r($response);
} else {
    echo '<a href="' . $meli->getAuthUrl($redirectURI, Meli::$AUTH_URL['MLB']) . '">Login using MercadoLibre oAuth 2.0</a>';
}

 

esta me retornando:

Array ( [body] => stdClass Object ( [message] => User must be logged to perform this operation. [error] => forbidden [status] => 403 [cause] => Array ( ) ) [httpCode] => 403 )

 

sendo que já estou com access_token,  appid e secretKey

Alguem pode me ajudar ?? grato.!

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

a autenticação (em sua primeira interação e/ou quando não se utiliza o scopo offline) necessita da autenticação do usuário e aceita da sua aplicação no Mercado Livre

você está tentando fazer vários passos em um único script, sem ter entendido o conceito de autenticações oAuth2.0

Share this post


Link to post
Share on other sites
  • 0

Boa tarde mldev !

 

Baixei uma SDK Meli PHP atualizada no facebook developer do ML e peguei o arquivo de exemplo "example_put_description.php"

 

Estou testando conectado e em servidor online. A sequencia que estou realizando é a seguinte:

1- rodo o example_put_description.php sem parametros para conectar, conectar perfeitamente retornando o token

2- uma vez conectado, todo o example_put_description.php com o token que retornou na conexão

3- é onde estou aplicando o 

$params = array('access_token' => $_SESSION['access_token']);

$body = array('text' => 'Adding new description');

$response = $meli->put('/items/MLB1151850129/descriptions', $body, $params);
        
print_r($response );

 

Agora retorna :

Array ( [body] => stdClass Object ( [message] => Any description id was given. [error] => uri.invalid [status] => 400 [cause] => Array ( ) ) [httpCode] => 400 )

 

 

 

Share this post


Link to post
Share on other sites
  • 0

Diogenes, fiz a alteração como me indicou:

 

$params = array('access_token' => $_SESSION['access_token']);

$response = $meli->put('/items/MLB1151850129/description', $body, $params);

e me retorna:

Array ( [body] => stdClass Object ( [message] => User must be logged to perform this operation. [error] => forbidden [status] => 403 [cause] => Array ( ) ) [httpCode] => 403 )

Sendo que estou online e logado, com retorno certinho do access_token

 

Edited by AUTOPEÇASCARLÃOECOMMERCE

Share this post


Link to post
Share on other sites
  • 0

Meu caro Diogenes

Separei o script de conexão com o de PUT, e consegui alterar o plain_text

Porém, o campo text  não aceita o conteúdo enviado

Script PUT:

$meli = new Meli($appId, $secretKey);

$params = array('access_token' => $_SESSION['access_token']);

    $body = array('text'=>'este e um teste','plain_text'=>'teste444');

    $response = $meli->put('/items/MLB1151850129/description', $body,$params);

        print_r($response );

Retornou:

Array ( [body] => stdClass Object ( [text] => [plain_text] => teste444 [last_updated] => 2018-12-09T17:45:54.000Z [date_created] => 2018-12-08T08:06:31.000Z ) [httpCode] => 200 )

Consultando o item via url:

 

{
  "text": "",
  "plain_text": "teste444",
  "last_updated": "2018-12-09T17:45:54.000Z",
  "date_created": "2018-12-08T08:06:31.000Z",
  "snapshot": {}
}

 

 

Minha dúvida é se este campo é utilizado ? devo atualizar ?

Obrigado!

 

Share this post


Link to post
Share on other sites
  • 0
20 hours ago, AUTOPEÇASCARLÃOECOMMERCE said:

Meu caro Diogenes

Separei o script de conexão com o de PUT, e consegui alterar o plain_text

Porém, o campo text  não aceita o conteúdo enviado

Script PUT:


$meli = new Meli($appId, $secretKey);

$params = array('access_token' => $_SESSION['access_token']);

    $body = array('text'=>'este e um teste','plain_text'=>'teste444');

    $response = $meli->put('/items/MLB1151850129/description', $body,$params);

        print_r($response );

Retornou:

Array ( [body] => stdClass Object ( [text] => [plain_text] => teste444 [last_updated] => 2018-12-09T17:45:54.000Z [date_created] => 2018-12-08T08:06:31.000Z ) [httpCode] => 200 )

Consultando o item via url:

 


{
  "text": "",
  "plain_text": "teste444",
  "last_updated": "2018-12-09T17:45:54.000Z",
  "date_created": "2018-12-08T08:06:31.000Z",
  "snapshot": {}
}

 

 

Minha dúvida é se este campo é utilizado ? devo atualizar ?

Obrigado!

 

o text não é mais utilizado

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