maiconkkl

Members
  • Content Count

    18
  • Joined

  • Last visited

About maiconkkl

  • Rank
    Newbie

Recent Profile Visitors

220 profile views
  1. Boa pergunta... eu recebia, mas depois de um tempo parou...
  2. Bom ja enfrentei problema que a meli ja tira do formato json então não vai conseguir decodificar. Faça igual o rodrigojob disse, coloque um print_r em $result echo "<pre>"; print_r($result); echo "</pre>";
  3. Sim, sim... Não sei exatamente o que aconteceu mas depois que eu alterei a url para receber notificações o sistema voltou a funcionar e estou recebendo notificações que nem agua.... nem sei o que fazer com todas... Mas muito obrigado pela atenção.
  4. Então, o que estava acontecendo era quem o servidor não estava me retornando os dados, depois analisei o que por que e entendi o que estava errado. Simplesmente o meu arquivo meli estava com um erro na solicitação, mas como você disse aquela parte estava incorreta mesmo: // Se o código existir e a sessão estiver vazia if($code && !($_SESSION['access_token'])) { Depois de tudo eu conseguir corrigir. Vlw pela ajuda, caso queira, eu o posto meu código aqui para ajudar quem precisar.
  5. E ai galera conseguir resolver vlw
  6. Bem eu ja tinha notado isso e fiz uma correção, porem sem resultados, olha meu novo codigo para saber se tem algum erro: <?php session_start('teste'); require 'conexao.php'; require 'MercadoLivre/meli.php'; $token = mysql_query('SELECT * from token WHERE id=1'); $token_row = mysql_fetch_assoc($token); if($token_row['access_token'] != NULL){ $_SESSION['access_token'] = $token_row['access_token']; $_SESSION['expires_in'] = $token_row['expires_in']; $_SESSION['refresh_token'] = $token_row['refresh_token']; $code = $token_row['code']; echo 'Dados do banco de dados<pre>'; print_r($_SESSION); echo '</pre>'; }else{ $code = $_GET['code']; } $meli = new Meli('Login do Aplicativo', 'Senha do aplicativo', $_SESSION['access_token'], $_SESSION['refresh_token']); if($code || $_SESSION['access_token']) { // Se o código existir e a sessão estiver vazia if($code && !($_SESSION['access_token'])) { // Se o código foi no parâmetro get autorizamos $user = $meli->authorize($code, 'url de login'); // Agora vamos criar as sessões com o usuário autenticado $_SESSION['access_token'] = $user['body']->access_token; $_SESSION['expires_in'] = time() + $user['body']->expires_in; $_SESSION['refresh_token'] = $user['body']->refresh_token; $insert = mysql_query("INSERT INTO token (code, access_token, expires_in, refresh_token) VALUES ('$code', '$_SESSION[access_token]', '$_SESSION[expires_in]', '$_SESSION[refresh_token]')"); } else { // Podemos verificar se o token de acesso é inválido verificar o tempo if($_SESSION['expires_in'] < time()) { try { // Faça o andamento da atualização $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; //$sql = mysql_query("UPDATE token SET code =".$code.", access_token=".$_SESSION['access_token'].", expires_in=".$_SESSION['expires_in'].", refresh_token=".$_SESSION[refresh_token]." WHERE id = 1"); $sql = "UPDATE token SET code=".$code.", access_token=".$_SESSION['access_token'].", expires_in=".$_SESSION['expires_in'].", refresh_token=".$_SESSION[refresh_token]." WHERE id = 1"; } catch (Exception $e) { echo "Exception: ", $e->getMessage(), "\n"; } } } echo '<br />Dados novos obtidos<pre>'; print_r($_SESSION); echo '</pre>'; } else { echo '<a href="' . $meli->getAuthUrl('url de login') . '">Login using MercadoLibre oAuth 2.0</a>'; }
  7. E ai galera, eu estou tentando atualizar meu token que venceu a 2 ou 3 dias atras com esse código abaixo porem não estou obtendo exito. Olha os dados que estou obtendo: Meu código Abaixo <?php if (!isset($_SESSION)) { session_start('teste'); } if(!require 'conexao.php'){ require 'conexao.php'; } // Definindo o caminho do arquivo de Login $urlcentral = "******/funcoesmercado/login.php"; // Solicitando token ao banco de dados $token = mysql_query('SELECT * from token WHERE code=1'); $token_row = mysql_fetch_assoc($token); // Agora vamos criar as sessões if($token_row['refresh_token'] != NULL){ // Criando sessão com os dados do Banco de dados $_SESSION['access_token'] = $token_row['access_token']; $_SESSION['expires_in'] = $token_row['expires_in']; $_SESSION['refresh_token'] = $token_row['refresh_token']; // Estanciando e requerindo MELI require 'MercadoLivre/meli.php'; $meli = new Meli('ID do Aplicativo', 'Senha do Aplicativo', $_SESSION['access_token'], $_SESSION['refresh_token']); // Atualizando o prazo da sessão if($token_row['refresh_token'] < time()) { try { // O Faça o Andamento da atualização print_r($_SESSION); $refresh = $meli->refreshAccessToken(); // Agora vamos criar as sessões com os novos parâmetros $_SESSION['access_token'] = $refresh['body']->access_token; $_SESSION['expires_in'] = time() + $refresh['body']->expires_in; $_SESSION['refresh_token'] = $refresh['body']->refresh_token; print_r($_SESSION); } catch (Exception $e) { echo "Exception: ", $e->getMessage(), "\n"; } } } ?>
  8. Não resolveu, mas como você disse para dar um echo verifiquei que o erro é na autenticação. Porem minha autenticação estava funcionando.
  9. boa pergunta meu jovem... eu não faço a minima ideia... mas acredito certamente que serja a consulta
  10. Aquele refresh_token não ta funcionando, é do arquivo meli.php que estou usando, então queria um exemplo para fica mais fácil... ver se estou fazendo algo de errado. Sobre a documentação, acho que esta tudo muito escaço, encontro uma coisa aki outra ali, nada muito organizado.
  11. Bom o meu código é bem simples, ele recebe os dados, descriptografa do json verifica se algum dos campos veio vazio e inserir no banco de dados.
  12. E ai pessoal eu tenho um sistema de autenticação porem estou com um problema, usando o arquivo meli eu consigo gerar um token e salvo ele no banco de dados, mas eu não sei como deixa ele permanente, ele sempre expira a cada 6h. Como eu deveria proceder para gerar um novo token sem ter que um usuário var com sua conta do mercado livre logada gerar outro token ? Se vocês me derem um script que ja faça isso prontinho melhor ainda, mas eu sei que ja estou pedindo muito. Bom depois que virar expert nessa API eu irei criar um código e liberar pra geral ai fazer a integração. A tecnologia que eu trabalho é PHP, Mysql.
  13. Boa noite pessoal estou desenvolvendo uma integração com o mercado livre e graças a um problema com notificações eu tive quer procurar uma alternativa para caso as noticiações pare de funcionar. Eu preciso fazer um lista de vendas para ser consultado um por um e ser inserido no banco de dados, todos os dados da compra e do comprador, então eu procurando como fazer achei um código que dizia fazer isso porem estou obtendo um erro que não sei como corrigir e nem sei o que ele quer dizer. Código: <?php require '*****************/meli.php'; $meli = new Meli('*****************', '*****************'); if($_GET['code']){ $oAuth = $meli->authorize($_GET['code'], '*****************/login.php'); $_SESSION['access_token'] = $oAuth['body']->access_token; $user = $meli->get('/users/me', array('access_token' => $_SESSION['access_token'])); $user_id = $user[body]->id; $vendas = $meli->get('/orders/search/recent', array('access_token' => $_SESSION['access_token'], 'sort' =>'date_desc', 'seller' => $user_id)); print_r($vendas); }else{ include('funcoesmercado/conexao.php'); $result = mysql_query('SELECT * from token WHERE code=1'); $row = mysql_fetch_assoc($result); $_SESSION['access_token'] = $row['access_token']; $_SESSION['expires_in'] = $row['expires_in']; if($_SESSION['expires_in'] + time() + 1 < time()) { try { print_r($meli->refreshAccessToken()); } catch (Exception $e) { echo "Exception: ", $e->getMessage(), "\n"; } } else{ echo "<script>window.location.href = 'vendas.php?code=".$row['refresh_token']."';</script>"; } } ?> Erro: Array ( [body] => stdClass Object ( [message] => You must provide a caller.id [error] => caller.id.empty [status] => 403 [cause] => ) [httpCode] => 403 )