Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/07/2017, 10:28
obravo
 
Fecha de Ingreso: marzo-2005
Mensajes: 18
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Conectar con API de Google Calendar desde PHP

Buenas tardes. Gracias por tu respuesta Triby

Ya había revisado el enlace que me envías. Seguramente tenga muchas dudas, pero el primer problema que tengo es con la conexión.

Código HTML:
<html>
<body>
<?php
 session_start();
// print_r($_SESSION);
 if(isset($_GET["logout"])){
  session_destroy();
 }
$redirect_uri ='http://192.168.0.60';
    require_once 'vendor/autoload.php';
    $client = new Google_Client();
$client->setClientId('999999999999-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com');
$client->setClientSecret('ytytytytytytytyDKEb_5VvUYifh');
    $client->setRedirectUri($redirect_uri);
$client->addScope('profile');

$client->addScope(Google_Service_Calendar::CALENDAR);


print_r($client->getAccessToken());

    $authUrl = $client->createAuthUrl();
    if (isset($_GET['code'])) {

  $client->authenticate($_GET['code']);
  $_SESSION['access_token'] = $client->getAccessToken();
  header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));

    }
    if (!$client->getAccessToken() && !isset($_SESSION['access_token'])) {
        $authUrl = $client->createAuthUrl();
        print "<a class='login' href='$authUrl'>Conectar</a>";
    }        
   if (isset($_SESSION['access_token'])) {

       print "<a class='logout' href='".$_SERVER['PHP_SELF']."?logout=1'>Salir</a><br>";
      $client->setAccessToken($_SESSION['access_token']);
      $service = new Google_Service_Calendar($client);
  $results = $service->events->listEvents('primary', array());
if (count($results->getItems()) == 0) {
  print "<h3>No hay Eventos</h3>";
} else {
  print "<h3>Proximos Eventos</h3>";
  echo "<table border=1>";
  foreach ($results->getItems() as $event) {
    echo "<tr>";
    $start = $event->start->dateTime;
    if (empty($start)) {
      $start = $event->start->date;
    }
    echo "<td>".$event->getSummary()."</td>";
    echo "<td>".$start."</td>";
    echo "</tr>";
  }
    echo "<table>";


}


    }
?>
</body>
</html> 
El Client-id y el Client-secret estan cambiados.

El error que me da es el siguiente:

Error: redirect_uri_mismatch