2016-07-27 1 views
0

Ceci est plus d'une question simple oui ou non avec l'espoir que quelqu'un pourrait me diriger dans la bonne direction.Google Calendar Inviter via Wordpress Email Formulaire de soumission

Je travaille actuellement sur un site web basé sur Wordpress pour une école qui permet aux utilisateurs de remplir un formulaire de contact (formulaire de contact 7), et de choisir une date pour prendre rendez-vous avec le directeur de l'école. Cette soumission de formulaire doit ensuite créer l'invitation Google Agenda standard pour que le principal accepte. Fondamentalement, la question est, est-il possible de créer un événement Google Calendar/Inviter via une soumission de formulaire à partir d'un site Web?

Très apprécié.

Répondre

0

Oui, je pense que c'est possible mais, je ne suis pas sûr si vous pouvez le faire en utilisant contact-forme-7 puisque je ne suis pas familier avec cela. L'alternative est donc d'utiliser Google Appscript et Google Forms.

Suivez this tutorial pour savoir comment implémenter cela.

Voici un extrait:

function onFormSubmit() { 
    var eventObject = getFormResponse(); 
    var event = createCalendarEvent(eventObject); 
} 

function getFormResponse() { 

    var form = FormApp.openById(GLOBAL.formId), 
     responses = form.getResponses(), 
     length = responses.length, 
     lastResponse = responses[length-1], 
     itemResponses = lastResponse.getItemResponses(), 
     eventObject = {}; 
    for (var i = 0, x = itemResponses.length; i<x; i++) { 
    var thisItem = itemResponses[i].getItem().getTitle(), 
     thisResponse = itemResponses[i].getResponse(); 

    switch (thisItem) { 
     case GLOBAL.formMap.eventTitle: 
     eventObject.title = thisResponse; 
     break; 
     case GLOBAL.formMap.startTime: 
     eventObject.startTime = thisResponse; 
     break; 
     case GLOBAL.formMap.endTime: 
     eventObject.endTime = thisResponse; 
     break; 
     case GLOBAL.formMap.description: 
     eventObject.description = thisResponse; 
     break; 
     case GLOBAL.formMap.location: 
     eventObject.location = thisResponse; 
     break; 
     case GLOBAL.formMap.email: 
     eventObject.email = thisResponse; 
     break; 
    } 
    } 
    return eventObject; 
}