ManuelRomero/DAW/dwes/Rest

De WikiEducator
Saltar a: navegación, buscar
Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg







Realizando la aplicacion de repartos

  • Las especificaciones según el enunciado del tema son
  • Se utilizará la API del servicio de tareas de Google (Google Tasks) para almacenar como listas de tareas la información de los repartos. Cada lista de tareas se corresponde en la aplicación con una lista de reparto, y cada una de sus tareas con un envío.
    • Para diferenciar una lista de otra, se le pone como parte del título la fecha del día en que se hará el reparto.
  • Para cada producto que se reparte se creará una tarea en la lista correspondiente. Esa tarea almacenará la dirección de envío y sus coordenadas. Para obtenerlas, y para mostrar su ubicación en un mapa, en el momento en que se introduzca la dirección se utilizará el servicio de geocodificación de Google (Google Geocoding).
  • Para optimizar la ruta que se ha de recorrer, se utilizará Google Directions. La idea es reorganizar de forma automática el orden de los productos que se van a repartir cada día de forma que se minimice la distancia recorrida.
  • Se visualizará en una nueva ventana el mapa correspondiente a las coordenadas de envío (google maps)
  • En total usaremos tres servicios
  1. Google Task usaremos la versión 1 v1. Decir que es una version beta y puede tener modificaciones que no mantengan compatibilidad

https://developers.google.com/apis-explorer/#p/tasks/v1/

  1. Google Geocoding
  2. Google Directons
  3. Google Maps

Configurando servicios

  • Descargamos las librerías
https://developers.google.com/google-apps/tasks/
  • En mi caso en el directorio del proyecto he creado un directorio llamado libs.
  • En él he descomprimido el directorio Google del fichero descargado anteriormente

//Incluimos la ubicación de las librerías para poder utilizarlo en nuestra app En mi aplicación incluyo las librerías

 session_start();
 require_once './libs/Google/Client.php';
 require_once './libs/Google/Service.php';
  • Ahora debemos crear dos objetos, uno de la clase Client y otro de la clase Service
// Creamos el objeto de la API de Google, primero un objeto de la clase Client
$cliente = new Google_Client();
 
 
// Y lo configuramos con los nuestros identificadores
$cliente->setApplicationName("Gestor de repartos");
$cliente->setClientId('Aquí irá tu identificador de cliente');
$cliente->setClientSecret('Aquí tu clave secreta');
$cliente->setRedirectUri('http://localhost/dwes/ut8/tareas.php');
$cliente->setDeveloperKey('Aquí irá tu clave de la API de Google');
 
//Ahora crea os un objeto de la clase Servicio, que servirá para manejar las listas y sus tareas
 
$apitareas = new Google_Service($cliente);
  • Para crear los identificadores siguiendo los apuntes
  • Accedemos a google, (debemos crear una cuenta)
  • Cada uno que haga como quiera, podéis crearos un nuevo usuario en google para estas tareas e independizaros de vuestro usuario habitual.
https://console.developers.google.com/
  • Para asegurar de donde tomar los datos, aunque es muy intuitivo, vemos la siguiente imagen que se relaciona con los métodos que requieren sus datos.

Credenciales google.png

Usando Tasks