elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP  (Leído 5,585 veces)
Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
[TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
« en: 5 Diciembre 2010, 20:44 pm »

[TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP


Voy a explicar como crear un servicio de avisos por SMS con la renovada api de google calendar (la han actualizado hace poco) y PHP.
En el ejemplo explico la creación de una función PHP que nos añade eventos en google calendar con notificación SMS para recibirlos en nuestro móvil vía SMS .

Lo primero es crear una cuenta o loguearnos en google calendar (si tienes una cuenta google para otro servicio también nos sirve).

Una vez dentro clickamos sobre Configuración/Cofiguración de Calendar y luego en la pestaña Configuración para móviles. Una vez verifiquemos nuestro móvil (nos envían un mensaje con un código) ya no tendremos que hacer nada más en google calendar.
*Puedes hacer pruebas en google calendar añadiendo eventos con aviso de notificación por móvil. Te llegará un mensaje con el título del evento, el lugar y la hora :D

Ahora vamos a utilizar el potencial de google calendar para enviar desde nuestro servidor avisos por SMS.
Por ejemplo cuando deja de hacer ping nuestro servidor, cuando falla el backup, cuando nos hacen un pedido … como ves tiene multitud de aplicaciones.

Tenemos que tener en nuestro servidor instalado Zend Gdata. (link de descarga al final)
Si no quieres cargar los módulos siempre desde PHP.ini puedes hacerlo manualmente cuando te haga falta simplemente incluyendo la ruta donde se encuentra la librería (tal y como explico en el siguiente código)

Código:
<?php
// Carga manual de librerías Zend_Gdata
ini_set('include_path', '/ruta hasta las librerías/ZendGdata-1.11.0/library');
require_once ('/ruta hasta las librerías/ZendGdata-1.11.0/library/Zend/Loader.php');
// Declaramos las clases
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
Zend_Loader::loadClass('Zend_Http_Client');
Zend_Loader::loadClass('Zend_Gdata_Extension_When');

// Función para crear evento SMS en Google Calendar
//Título indica el título del SMS; Texto indica parte del cuerpo del SMS;
//Minutos indica la demora del aviso; Email indica el login de la cuenta
//Password indica la contraseña de la cuenta
function crearEventoSMS ($titulo, $texto='', $minutos=5, $email='micuenta@gmail.com', $password='micontraseña') {
        // Nombre del servicio de Google Calendar
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($email,$password,$service);

$gdataCal = new Zend_Gdata_Calendar($client);
$event = $gdataCal->newEventEntry();
$event->title = $gdataCal->newTitle($titulo);
        // Añadimos texto
if($texto!=''){
$event->where = array($gdataCal->newWhere($texto));
$event->content = $gdataCal->newContent("$texto");
}
// Calculamos la hora de creación del evento con la demora incluida para que nos avise
$time=time()+$minutos*60;
        // Hora en formato RFC 3339
$endDate = $startDate = date("Y-m-d", $time);
$endTime = $startTime = date("H:i", $time);
$tzOffset = "+01";

$when = $gdataCal->newWhen();
$when->startTime = "{$startDate}T{$startTime}:00.000{$tzOffset}:00";
$when->endTime = "{$endDate}T{$endTime}:00.000{$tzOffset}:00";

// Añadimos el recordatorio SMS
       $reminder = $gdataCal->newReminder();
       $reminder->method = "sms";
       // Tiempo de adelanto (no tiene sentido en el ejemplo actual)
       $reminder->minutes = 0;

// Aplicamos
        $when->reminders = array($reminder);
        $event->when = array($when);

        // Añadimos el evento a google calendar
        $newEvent = $gdataCal->insertEvent($event);
}
?>

Para añadir notificaciones ya solamente tenemos que llamar a la función (por supuesto debemos incluirla en nuestro código)

Código:
<?php
     // Requerimos el archivo de la función
     require_once('ruta_hasta_nuestra_funcion.php');
     // La llamamos
     crearEventoSMS('SinPing');
     // Otra llamada para dentro de 2 horas
     crearEventoSMS('ComprobarPago', 'Tenemos que comprobar pago XXX', 120);
     // Otra llamada para otra cuenta que no es la default
     crearEventoSMS('EncargoOnline', 'El cliente tal tiene avería.', 10, 'fontanero@gmail.com', 'chirigota');
?>

Espero que les sirva de utilidad  :D


En línea

AFelipeTrujillo

Desconectado Desconectado

Mensajes: 160



Ver Perfil WWW
Re: [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
« Respuesta #1 en: 13 Diciembre 2010, 14:18 pm »

Thkxx por la INFO


En línea

Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
« Respuesta #2 en: 1 Enero 2011, 03:16 am »

Ese sistema deja subir una BD con numeros de celular a los cuales enviar el SMS ?
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
« Respuesta #3 en: 1 Enero 2011, 19:33 pm »

tengo duda :huh: el servicio por SMS no tiene ningun costo :huh: funciona para todos las compañias de cel, telcel,movistar etc etc
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
« Respuesta #4 en: 5 Enero 2011, 22:50 pm »

tengo duda :huh: el servicio por SMS no tiene ningun costo :huh: funciona para todos las compañias de cel, telcel,movistar etc etc

Tengo la misma duda de RedZer?...
En línea

AFelipeTrujillo

Desconectado Desconectado

Mensajes: 160



Ver Perfil WWW
Re: [TUTORIAL] Crear servicio de aviso por SMS con google calendar y PHP
« Respuesta #5 en: 5 Enero 2011, 22:54 pm »

si claro eso tiene un costo y hay empresas que prestan el servicio por ejemplo en Colombia esta esta http://www.colombiadominios.com/sms.php
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Google renueva Calendar y Translate, podría ser sólo el principio
Noticias
Novlucker 5 2,040 Último mensaje 2 Septiembre 2010, 00:28 am
por .:WindHack:.
Problemas en la aplicación Google Calendar
Noticias
wolfbcn 0 1,434 Último mensaje 23 Febrero 2011, 21:17 pm
por wolfbcn
Vuestra experiencia con API Google (Lo necesito por el Calendar)
PHP
dimitrix 1 1,793 Último mensaje 11 Octubre 2012, 18:58 pm
por EFEX
API Google Calendar v3 y VB.NET
.NET (C#, VB.NET, ASP)
el_cantante 0 1,766 Último mensaje 4 Agosto 2015, 18:38 pm
por el_cantante
Compartir google calendar
Software
huerto123 0 1,146 Último mensaje 24 Octubre 2023, 09:26 am
por huerto123
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines