Esempio n. 1
1
<?php

session_start();
require '../MercadoLivre/meli.php';
$meli = new Meli('APP_ID', 'SECRET_KEY');
if ($_GET['code']) {
    // If the code was in get parameter we authorize
    $user = $meli->authorize($_GET['code'], 'http://localhost/PHPSDK/examples/example_login.php');
    // 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";
        }
    }
    // We construct the item to POST
    $item = array("title" => "Rayban Gloss Black", "subtitle" => "Some subtitle here", "category_id" => "MLB1227", "price" => 10, "currency_id" => "BRL", "available_quantity" => 1, "buying_mode" => "buy_it_now", "listing_type_id" => "bronze", "condition" => "new", "description" => "Item:, <strong> Ray-Ban WAYFARER Gloss Black RB2140 901 </strong> Model: RB2140. Size: 50mm. Name: WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box", "video_id" => "RXWn6kftTHY", "warranty" => "12 month by Ray Ban", "pictures" => array(array("source" => "http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"), array("source" => "http://en.wikipedia.org/wiki/File:Teashades.gif")));
    // We call the post request to list a item
    echo '<pre>';
    print_r($meli->post('/items', $item, array('access_token' => $_SESSION['access_token'])));
    echo '</pre>';
} else {
    echo '<a href="' . $meli->getAuthUrl('http://localhost/PHPSDK/examples/example_login.php') . '">Login using MercadoLibre oAuth 2.0</a>';
}
 /**
  * Get Acces Token Page
  */
 public function callback(Request $request)
 {
     $error = $request->input('error');
     $error_description = $request->input('error_description');
     $code = $request->input('code');
     $access_token = session('access_token');
     if ($error) {
         return view('mercadolibre::login')->with('auth', ['error' => $error, 'description' => $error_description, 'url' => \Meli::getAuthUrl(env('ML_AUTHENTICATION_URL', ''))]);
     }
     if ($code || $access_token) {
         if ($code && !$access_token) {
             $user = \Meli::authorize($code, env('ML_AUTHENTICATION_URL'));
             session(['access_token' => $user['body']->access_token]);
             session(['expires_in' => time() + $user['body']->expires_in]);
             session(['refresh_token' => $user['body']->refresh_token]);
             $me = \Meli::get('/users/me', ['access_token' => session('access_token')]);
             session(['profile' => $me['body']]);
         } else {
             if (session('expires_in') < time()) {
                 try {
                     $refresh = \Meli::refreshAccessToken(session('refresh_token'));
                     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() . PHP_EOL;
                 }
             }
         }
         return \Redirect::to('/meli/admin');
     } else {
         $auth_url = \Meli::getAuthUrl(env('ML_AUTHENTICATION_URL', ''));
         return view('mercadolibre::login')->with('auth_url', $auth_url);
     }
 }
Esempio n. 3
0
    session_name('testml');
    session_start();
    require '../../classes/class.meli.php';
    $Meli = new Meli('4853777712698373', 'zhBim3Li6QKCTUht49YLnhpbT66CQwGm', $_SESSION['access_token'], $_SESSION['refresh_token']);
    $URL = 'http://localhost/projects/admin/files/modules/test/test.php';
    if (!$_SESSION['code']) {
        header("Location: " . $Meli->getAuthUrl($URL, Meli::$AUTH_URL['MLA']));
        die;
    }
    if ($_GET['code'] && !$_SESSION['code']) {
        $_SESSION['code'] = $_GET['code'];
    }
    // If code exist and session is empty
    if ($_SESSION['code'] && !$_SESSION['access_token']) {
        // If the code was in get parameter we authorize
        $user = $Meli->authorize($_SESSION['code'], $URL);
        // 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;
    }
    header("Location: api_example.php");
    die;
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Api Example</title>
  </head>
Esempio n. 4
0
@section('description')
@stop

@section('style')
@stop

@section('breadcrumb')
@stop

@section('content')


<?php 
require '../app/phpsdkmaster/MercadoLivre/meli.php';
$meli = new Meli('5909368031571237', 'tqOqeQIli8gvYOHZ2BIgSjCx7Bp0xU9z');
//$meli = new Meli('5909368031571237', 'tqOqeQIli8gvYOHZ2BIgSjCx7Bp0xU9z', $_SESSION['access_token'], $_SESSION['refresh_token']);
// Create our Application instance (replace this with your appId and secret).
if ($_GET['code']) {
    $oAuth = $meli->authorize($_GET['code'], 'http://miproteina.contapp.com.co/login');
    $_SESSION['access_token'] = $oAuth['body']->access_token;
} else {
    echo 'Login with MercadoLibre';
}
$item = $meli->get("/users/70590888/items/search", array('access_token' => $_SESSION['access_token']));
?>
<pre>hola creo que estoy logeado y tengo <?php 
print_r($item);
?>
</pre>
@stop