• 0
Sign in to follow this  
ARHU6308401

Error 403 a la hora de listar items

Question

 $itemId = '1xxxxxxxxx';
          $item = $meli -> get('/users/'.$itemId.'/items/search',$params);
          echo "<br>";
          echo "<pre>";
          print_r($item);
          echo "<pre>";

a la hora de mostrar los items me aparece el error 403, por que se da eso?
      

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Que es $itemId? Estas usando el ID del usuario? o sea el Cust_id (customer ID)? No estarás confundiendo esa variable?

En los $params, estas pasando el access_token, verdad?

Cualquiera de esos datos erróneos, te puede dar un 403.

Share this post


Link to post
Share on other sites
  • 1
Posted (edited)
5 minutes ago, ARHU6308401 said:

si estoy pasando el access_token en la variable

 

$itemId que le estas pasando? Ahi deberia ir el customer ID de la aplicación creada. Por eso te preguntaba si no estaras pasando mal ese ID. Si me baso en el nombre de la variable, es incorrecto que sea $itemID, ya que ahi no va un ID de un item, sino el ID del usuario.

Por cierto, esto lo estas testenado en donde? Si es localmente deberias desactivar el SSl en las opciones del cURL de Meli. Idem si es online en un server sin SSL.

Edited by GARO4525319

Share this post


Link to post
Share on other sites
  • 0

asi esta el codigo

<?php
  $meli = new Meli($appId, $secretKey, isset($_SESSION['access_token']), isset($_SESSION['refresh_token']));

  if(isset($_GET['code']) || isset($_SESSION['access_token'])) 
  {
    if(isset($_GET['code']) && !isset($_SESSION['access_token'])) 
    {
      try
      {
        $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'] = time() + $user['body']->expires_in;
        $_SESSION['refresh_token'] = $user['body']->refresh_token;
      }
      catch(Exception $e)
      {
        echo "Exception: ",  $e->getMessage(), "\n";
      }
    }
    else
    {
        if($_SESSION['expires_in'] < time()) 
        {
          try 
          {
            // Make the refresh proccess
            $refresh = $meli->refreshAccessToken();
            // Now we create the sessions with the new parameters
            $_SESSION['access_token'] = $refresh['body']->access_token;
            $_SESSION['expires_in'] = time() + $refresh['body']->expires_in;
            $_SESSION['refresh_token'] = $refresh['body']->refresh_token;
          } 
          catch (Exception $e) 
          {
            echo "Exception: ",  $e->getMessage(), "\n";
          }
        }
    }
      $params = array('access_token' => $_SESSION['access_token'],'limit' => '10', 'offset' => 0 );

      $user = $meli->get('/users/me', $params);
      
          $itemId = 'xxxxxxx';
          $item = $meli -> get('/users/'.$itemId.'/items/search',$params);
          echo "<br>";
          echo "<pre>";
          print_r($item);
          echo "<pre>";
      
  }


?>

 

Share this post


Link to post
Share on other sites
  • 0

No se como estas gestionando la $_SESSION, supongo que estas probando con los php de ejemplo del SDKPHP.... pero eso es solo un ejemplo, si la data no la guardas en una, por ej, base de datos para que cuando cargues la pagina de nuevo no necesites nada, ya que vas a tener el token y refresh guardados, idem expire... ahi vas a poder crear un Meli que si te va a funcionar.
Asi como tenes el codigo, no va a funcionar. Fijate, hace un print_r($meli) abajo del todo y te vas a dar cuenta lo que digo.

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
Sign in to follow this