Integración de Google Calendar con PHP Parte 2. Recuperar eventos agendados con SimpleXML

Escrito por Martin Gonzalez el Sabado 01 de Noviembre de 2008 a las 13:58hs

Aqu? hay un ejemplo de c?mo procesar un ?feed? de Google Calendar usando PHP. En este ejemplo tomamos el ?feed? del caso mostrado en el primer art?culo (ver Integraci?n de Google Calendar con PHP) y usamos SimpleXML para extraer fragmentos de informaci?n relevante de ?l y darle el formato en una p?gina Web:
?

Lo que nos aparecer? ser? lo siguiente:



En el c?digo del ejemplo anterior, el objeto simplexml_load_file() manda un pedido al ?feed? URL y convierte la respuesta en un objeto SimpleXML. Luego, este ?ltimo itera sobre los elementos en la respuesta del loop foreach() y recupera la informaci?n que aparece en la Figura 1. Los nodos hijos bajo cada son representados como objetos con propiedades SimpleXML - por ejemplo, el nodo est? representado por $entry->title, el nodo <summary> por $entry->summary y as? sucesivamente-.<br> <br> El feed URL usado aqu? hace referencia al feed del calendario privado del usuario, y contiene su direcci?n de mail y la as? llamada magic cookie que es utilizada para obtener acceso de s?lo lectura a la informaci?n del calendario sin pedir previamente la autorizaci?n. Como ya se?alamos, obtener este feed de URL es una tarea de manual: es necesario visitar la p?gina de Google Calendar correspondiente y copiar manualmente la URL desde las opciones del calendario en el script PHP.<br> <br> No te pierdas los siguientes art?culos!<br> <br> <a href="/articulos/integracion-de-google-calendar-con-php-parte-1.htm">Integraci?n de Google Calendar con PHP</a><br> <a href="/articulos/integracion-de-google-calendar-con-php-parte-3-recuperar-eventos-agendados-con-zend-gdata-client-library-.htm">Recuperar eventos agendados con Zend GData Client Library<br></a><br> </div> <div class="post-meta"> <span class="post-meta-categorias">Categor?as: <a href="articulos/aplicaciones-google-">Aplicaciones Google</a></span> <span class="post-meta-comentarios"><a href="articulos/integracion-de-google-calendar-con-php-parte-2-recuperar-eventos-agendados-con-simplexml-.htm#comentarios">Comentarios (0)</a></span> </div> <div class="adsense-inpost-300x250"> <script type="text/javascript"> //<![CDATA[ <!-- google_ad_client = "ca-pub-4288165125907732"; google_ad_width = 300; google_ad_height = 250; google_ad_format = "300x250_as"; google_ad_type = "text"; //2007-02-28: EGP_POST_300X350 google_ad_channel = "9611869181"; google_color_border = "F2F2F2"; google_color_bg = "F2F2F2"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--> //]]> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> </div> <br> <a name="comentarios" id="comentarios"></a> <h1 class="titulo-principal">comentarios</h1> <p class="mensaje">No hay comentarios.</p> <br> <br> <h1 class="titulo-principal">agregar comentario</h1> <form action="" method="post" class="formulario"> <p></p> <p><input type="text" name="usuario" id="usuario" value="" size="22" tabindex="1"><label for="author">Nombre (Requerido)</label></p> <p><input type="text" name="email" id="email" value="" size="22" tabindex="2"><label for="email">Email (Requerido. No sera publicado)</label></p> <p><input type="text" name="sitio_web" id="sitio_web" value="" size="22" tabindex="3"><label for="url">Sitio web (Opcional)</label></p> <p><label for="comentario">Comentario</label><br> <textarea name="comentario" id="comentario" cols="86%" rows="7" tabindex="4"></textarea></p> <p>Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna direcci?n web o direcci?n de email ser?n convertidos en enlaces autom?ticamente.</p> <label for="texto_captcha_ingresado">Por favor ingrese el c?digo que ve en la imagen...</label><br> <br> <div style="float:left; margin-right:8px"></div> <div style="padding-top:7px"> <input name="captcha_ingresado" type="text" id="captcha_ingresado" size="30"> </div> <br> <br> <p><input name="submit" type="submit" id="submit" tabindex="5" value="Enviar comentario >"></p> </form> </div> <div class="sidebar" id="buscar"> <p class="titulo-sidebar-negro">buscar art?culos</p> <div style="text-align:center"> <form id="buscar_articulos" action="buscador_articulos.php" class="formulario" style="margin:17px 0px 15px 0px" name="buscar_articulos"> <input name="q" type="text" size="25"> <p><input type="submit" value="Buscar"></p> </form> </div> </div> <div class="sidebar"> <div class="adsense-sidebar-125x125"> <script type="text/javascript"> //<![CDATA[ <!-- google_ad_client = "ca-pub-4288165125907732"; google_ad_width = 120; google_ad_height = 90; google_ad_format = "120x90_0ads_al"; //2007-02-28: EGP_SIDEBAR_BLOQUE_120X90 google_ad_channel = "1246156958"; google_color_border = "ffffff"; google_color_bg = "ffffff"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--> //]]> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> </div> </div> <div class="sidebar"> <p class="titulo-sidebar-naranja">art?culos<br> <br> <a href="/articulos/net" class="style5">TUTORIALES .NET <span class="style7">( NEW )</span><br> <span class="style8">TUTORIAL VISUAL B. 6.0<br></span><br></a> <a href="/articulos/aplicaciones-google-" class="style5">GOOGLE CALENDAR API<br></a> <a href="/articulos/como-integrar-google-maps-en-tu-web.htm" class="style5">GOOGLE MAPS API</a></p> <ul class="categorias"> <li><a href="articulos/net">.NET</a></li> <li><a href="articulos/ajax">Ajax</a></li> <li><a href="articulos/apis">APIs</a></li> <li><a href="articulos/aplicaciones-google-">Aplicaciones Google</a></li> <li><a href="articulos/asp">ASP</a></li> <li><a href="articulos/c-plus-plus">C++</a></li> <li><a href="articulos/css">CSS</a></li> <li><a href="articulos/email-marketing">Email marketing</a></li> <li><a href="articulos/email-marketing">Email marketing</a></li> <li><a href="articulos/facebook">Facebook</a></li> <li><a href="articulos/fireworks">Fireworks</a></li> <li><a href="articulos/flash">Flash</a></li> <li><a href="articulos/flickr">Flickr</a></li> <li><a href="articulos/google">Google</a></li> <li><a href="articulos/html">HTML</a></li> <li><a href="articulos/javascript">Javascript</a></li> <li><a href="articulos/mysql">MySQL</a></li> <li><a href="articulos/navegadores">Navegadores</a></li> <li><a href="articulos/otros">Otros</a></li> <li><a href="articulos/php">PHP</a></li> <li><a href="articulos/proyecto%2083%20Emilio%20Mariscal">proyecto 83 Emilio Mariscal</a></li> <li><a href="articulos/recursos">Recursos</a></li> <li><a href="articulos/seo">SEO</a></li> <li><a href="articulos/servidores">Servidores</a></li> <li><a href="articulos/sitios-web">Sitios Web</a></li> <li><a href="articulos/sobre-el-sitio">Sobre el sitio</a></li> <li><a href="articulos/sql">SQL</a></li> <li><a href="articulos/twitter">twitter</a></li> <li><a href="articulos/visual-basic">Visual Basic</a></li> <li><a href="articulos/web-social">web social</a></li> <li><a href="articulos/windows">Windows</a></li> <li><a href="articulos/xhtml" style="border-bottom-width: 0">XHTML</a></li> </ul> </div> <div class="sidebar" id="suscriptos"> <p class="titulo-sidebar-negro">boletin de novedades</p> <p class="mensaje">Recibi en tu email las ultimas novedades del sitio.</p> <div style="text-align:center"> <form id="newsletter" action="acerca_de/newsletter.php" class="formulario" style="margin:17px 0px 15px 0px" method="post" name="newsletter"> <input name="email" id="email" type="text" size="25" onfocus="javascript: if(this.value=='tu email') { this.value = '' }" value="tu email"><input type="hidden" name="accion" id="accion" value="suscribir"> <p><input type="submit" value="Suscribirse"></p> </form> </div> </div> </div> <div class="sponsors"> <script type="text/javascript" src="includes/swfobject.js"></script> <span class="titulo-sponsor"><a href="acerca_de/publicidad.php">publicidad</a></span> <p></p> <div id="swf-banner" class="logo"></div> <p> <script type="text/javascript"> //<![CDATA[ var so = new SWFObject("images/banners/banner.swf", "swf-banner", "150", "150", "7", "", "0"); so.addParam("wmode","transparent"); so.write("swf-banner"); //]]> </script> <a href="/articulos/facebook" class="style5">API DE FACEBOOK</a><br> <a href="/articulos/aplicaciones-google-" class="style5">GOOGLE CALENDAR API</a><br> <a href="/articulos/como-integrar-google-maps-en-tu-web.htm" class="style5">GOOGLE MAPS API</a></p> <p><a href="/articulos/aplicaciones-google-"><img src="/images/google-apps.jpg" width="150" height="313" border="0"></a></p> <p></p> </div> </div> <div id="footer"> <span style="float:left; padding:8px">El Guru Programador</span> <span style="float:right; padding:8px"><a href="acerca_de/newsletter.php">Boletin de novedades</a> | <a href="acerca_de/publicidad.php">Publicidad</a> | <a href="acerca_de/contacto.php">Contacto</a> | <a href="acerca_de">Acerca de...</a></span> </div> </body> </html>