GOOGLE ADS

jeudi 14 avril 2022

Existe-t-il un moyen d'obtenir des réponses à partir d'un formulaire Google et d'utiliser ces valeurs pour créer un utilisateur dans l'administrateur Google ?

Au départ, je prenais des valeurs à partir d'un formulaire et obtenais les réponses à une feuille Google, puis en utilisant la fonction lastRow, j'extrayais les données de l'utilisateur et créais l'utilisateur dans Google Admin, mais cela m'oblige toujours à exécuter le script à chaque fois le formulaire est rempli. Est-il possible de prendre directement des valeurs à partir du formulaire, puis d'utiliser ces valeurs pour créer cet utilisateur ? Parce qu'alors je pourrais simplement utiliser onFormSubmit() et déclencher automatiquement la méthode.

S'il vous plaît aidez-moi, merci!


Solution du problème

quelque chose comme ça. Ça devrait marcher

 function onFormSubmit(e) {
const form = FormApp.getActiveForm();
const items = form.getItems();
const formResponses = e.response;

const data = {};
const header_youneed = ['FirstName', 'LastName']

for (i in items) {
let response = formResponses.getResponseForItem(items[i]).getResponse();
if (header_youneed.indexOf(items[i].getTitle()) > -1) {
data[items[i].getTitle()] = response;
}
}

//add user
addUser(data);

}


function addUser(data) {
let user = {
// TODO (developer) - Replace primaryEmail value with yours
primaryEmail: data['FirstName'] + data['LastName'] + '@companydomain.com',
name: {
givenName: data['FirstName'],
familyName: data['LastName']
},
// Generate a random password string.
password: Math.random().toString(36)
};
try {
user = AdminDirectory.Users.insert(user);
Logger.log('User %s created with ID %s.', user.primaryEmail, user.id);
} catch (err) {
// TODO (developer)- Handle exception from the API
Logger.log('Failed with error %s', err.message);
}
}

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...