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 
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)
3 | ini_set ( 'include_path' , '/ruta hasta las librerías/ZendGdata-1.11.0/library' ); |
4 | require_once ( '/ruta hasta las librerías/ZendGdata-1.11.0/library/Zend/Loader.php' ); |
6 | Zend_Loader::loadClass( 'Zend_Gdata' ); |
7 | Zend_Loader::loadClass( 'Zend_Gdata_ClientLogin' ); |
8 | Zend_Loader::loadClass( 'Zend_Gdata_Calendar' ); |
9 | Zend_Loader::loadClass( 'Zend_Http_Client' ); |
10 | Zend_Loader::loadClass( 'Zend_Gdata_Extension_When' ); |
16 | function crearEventoSMS ( $titulo , $texto = '' , $minutos =5, $email = 'micuenta@gmail.com' , $password = 'micontraseña' ) { |
18 | $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; |
19 | $client = Zend_Gdata_ClientLogin::getHttpClient( $email , $password , $service ); |
21 | $gdataCal = new Zend_Gdata_Calendar( $client ); |
22 | $event = $gdataCal ->newEventEntry(); |
23 | $event ->title = $gdataCal ->newTitle( $titulo ); |
26 | $event ->where = array ( $gdataCal ->newWhere( $texto )); |
27 | $event ->content = $gdataCal ->newContent( "$texto" ); |
30 | $time =time()+ $minutos *60; |
32 | $endDate = $startDate = date ( "Y-m-d" , $time ); |
33 | $endTime = $startTime = date ( "H:i" , $time ); |
36 | $when = $gdataCal ->newWhen(); |
37 | $when ->startTime = "{$startDate}T{$startTime}:00.000{$tzOffset}:00" ; |
38 | $when ->endTime = "{$endDate}T{$endTime}:00.000{$tzOffset}:00" ; |
41 | $reminder = $gdataCal ->newReminder(); |
42 | $reminder ->method = "sms" ; |
44 | $reminder ->minutes = 0; |
47 | $when ->reminders = array ( $reminder ); |
48 | $event ->when = array ( $when ); |
51 | $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)
3 | require_once ( 'ruta_hasta_nuestra_funcion.php' ); |
5 | crearEventoSMS( 'SinPing' ); |
7 | crearEventoSMS( 'ComprobarPago' , 'Tenemos que comprobar pago XXX' , 120); |
9 | crearEventoSMS( 'EncargoOnline' , 'El cliente tal tiene avería.' , 10, 'fontanero@gmail.com' , 'chirigota' ); |
Espero que les sirva de utilidad 
– Descargar Zend Gdata
– Google Calendar
– Documentación Api Google Calendar
Muy bueno, oye y lo puedo aplicar a mi website?