La exportación de una Sola Eventos del Calendario de Google para ICS?

Actualmente estoy estudiando la posibilidad de mostrar las listas de eventos de varios Calendarios de Google en una página Web. Por el momento, estoy usando los Eventos del Calendario de Google plugin para WordPress para mostrar los eventos en el sitio (sitio de desarrollo detrás de un firewall, así que no se puede compartir un enlace); pero me gustaría ver si hay algún método sencillo para generar dinámicamente archivos ICS para cada evento individual.

Nos gustaría para permitir que los visitantes del sitio web para agregar cada uno de los eventos a su calendario, pero el de Google Calendar API de Datos de sólo parece ofrecer la opción de descargar un calendario completo en formato ICS. He intentado simplemente añadiendo una cadena de consulta con el id (IDENTIFICADOR de evento) hasta el final de la ICAL dirección del feed, pero que todavía abre el estándar de Google fuente ICAL, que incluye todos los eventos que actualmente se incluye en el calendario.

Estoy un poco familiarizado con la dinámica de construcción de archivos ICS desde cero, y lo han hecho una vez en el pasado, tirando de eventos de un local de Perl programa de calendario y la generación de un archivo ICS para cada evento; pero si hay alguna pre-construidos o las Api de clases PHP que ya están configurados para construir ICS archivos individuales de Eventos del Calendario de Google, me gustaría mucho que prefieren usar los.

InformationsquelleAutor cgrymala | 2011-06-21

4 Kommentare

  1. 3

    Su tan simple es sólo una página realmente, intente esto: (necesitará para que le sustituya propias variables de curso …)

    <?php
        /*
        * generates calendar ics file
        */ 
    
    if( 
        empty($_GET['summary']) || 
        empty($_GET['dtstart']) || 
        empty($_GET['dtend']) 
    ){
    header ("Location: /diary/this-week") ;
    exit();
    } 
    
      header("Content-type: text/calendar");
      header("Content-Disposition: attachment; filename=".urlencode($_GET['summary']).'-'.time().".ics");
      header("Pragma: no-cache");
      header("Expires: 0");
      echo 'BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:councilsites
    METHOD:PUBLISH
    BEGIN:VEVENT
    URL:'. htmlentities( $_GET['url'] ) .'
    UID:'. htmlentities( $_GET['url'] ) .'
    SUMMARY:'. htmlentities( $_GET['summary'] ) .'
    DTSTAMP:'. date('Ymd\THis\Z') .'
    DTSTART:'. htmlentities( $_GET['dtstart'] ) .'
    DTEND:'. htmlentities( $_GET['dtend'] ) .'
    LOCATION:'. htmlentities( $_GET['location'] ) .' 
    END:VEVENT
    END:VCALENDAR';
    
    
    ?>
    • Gracias por la sugerencia. Que hace que parezca sencillo. También me pareció que Google no parecen generar archivos ICS para eventos individuales; pero yo estaba usando mal la estructura de la dirección URL (no parece ser documentado en ninguna parte). Creo que si usted utiliza una estructura de URL como: http://google.com/calendar/ical/[calendarID]/[visibility i.e. 'public']/[projection i.e. full]/[eventID].ics obtener un archivo ICS para el evento. El auto-generado archivo ICS incluye información sobre el origen del calendario, así que tienes que quitar la línea que comienza X-WR-CALNAME: si usted desea que se abra como una cita. Más pruebas de que hacer.
    • Traté de conseguir este trabajo el uso de la dirección url del calendario. Sin embargo, yo no entendía lo que es eventID (pensé que es probable que el líquido que me de el calendario completo de la ics) o hay algún otro problema, lo que resulta en 404 cada vez. Usted puede confirmar que esto funciona con privado visibilidad y cómo obtener la correcta eventID?
  2. 0

    También quería generar un .archivo ics para un solo evento. Yo no quería meterse con PHP, yo iba a usar grymala de la punta. Por desgracia yo no sabía de la calendarID para el caso de que yo quería exportar así que exportan a todos gcal los calendarios y editar el archivo resultante, de forma que sólo contenía el título de calendario, footing, y vevent lsiting. También he eliminado el nombre del calendario pensamiento no sé si esto era necesario.
    Nunca me hizo encontrar una manera para obtener la url de un calendario específico, como gymala sugerido, pero me hizo encontrar esta basado en este texto de ayuda.

    1. En el calendario de la lista en el lado izquierdo de la página, mueva el ratón
      encima del calendario que desea exportar.

    2. Verás una flecha desplegable que aparece junto al nombre del calendario. Haga clic en la flecha desplegable y seleccione configuración de Calendario. (Como alternativa, haga clic en la flecha desplegable junto a Mis calendarios y seleccione Configuración y, a continuación, haga clic en el calendario apropiado de la lista.)

    3. Haga clic en el botón ICAL en la Privada de la Dirección de la sección en la parte inferior de la página y haga clic en la URL que aparece.

    4. Guardar el archivo exportado a la carpeta deseada en su ordenador. posiblemente por pegar la URL en otra ventana del navegador, la copia de la ventana de texto y pegarlo en un editor.

  3. 0

    Me doy cuenta de cómo rancio esto es -, pero no llegó cerca de la parte superior de la insidiosa del motor de búsqueda ranking de cómo obtener una ics de un evento individual – ninguno de los anteriores trabajó para mí, tal vez no es de extrañar que tan viejo que el hilo es.

    Mi solución – crear un calendario especial para la exportación de cada uno de los eventos de copia de eventos que desea exportar el calendario a exportar el calendario a continuación, elimine los eventos, y así es limpio para la próxima vez – yo era capaz de importar los eventos individuales a T’bird.

    Me doy cuenta de exportar un calendario con sólo 1 caso en que no es exactamente lo mismo que la exportación de un único evento (o, tal vez, lo es) pero me parece un trabajo útil a su alrededor.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea