Page 1 sur 1
Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact
Publié : 27 janv. 2023 19:14
par Lolowr
Code : Tout sélectionner
Bonjour,
J'essaye sans grand succès d'utiliser API People à la place de la Classe Contact(Obsolète)
J'ai suivi les conseils d'Ahmet en activant le service API People dans le script
[/size]
SVP novice avec API PEOPLELe Script ne fonctionne pas
Je souhaite remplacer le Libellé "CKD EPI" par "CKD EPI / CROKOFF / CREAT" (que le nom du Libellé ,pas la Valeur du champs annexe)
Qu'est qui ne va pas ?
Code : Tout sélectionner
function renameCustomField() {
var debug = true;
var group = People.PeopleApi.getContactGroups().get("MonGroup").execute(); //
[/size]
je pense que People n'a aucune propriété de PeopleApi[/size][/i][/u][/color]
Code : Tout sélectionner
var oldFieldName = "CKD EPI";
var newFieldName = "CKD EPI / CROKOFF / CREAT";
for (var i = 0; i < group.members.length; i++) {
var contact = group.members[i];
var fields = contact.userDefined;
for (var j = 0; j < fields.length; j++) {
if (fields[j].key === oldFieldName) {
fields[j].key = newFieldName;
if (debug) {
console.log("Renaming field for contact: " + contact.names[0].displayName);
}
}
}
var updateContact = {
resourceName: contact.resourceName,
updatePersonFields: "userDefined",
userDefined: fields
}
People.PeopleApi.updateContact(updateContact).execute();
}
}
[/size]
Re: Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact
Publié : 06 févr. 2023 16:55
par NC_Quentin
Bonjour !
J’ai fait une petite fonction qui permet de renommer un groupe de contacts. J’ai mis des commentaires, et même si je sais que c’est un peu illisible sur le forum puisque tout passe en vert, une fois copié-collé dans l’éditeur d’Apps Script ce sera plus lisible, promis.
Code : Tout sélectionner
function renameContactsGroup(oldName, newName){
// On récupère les groupes de contact
// cf. https://developers.google.com/people/api/rest/v1/contactGroups/list
let groups = People.ContactGroups.list().contactGroups;
// On trouve notre groupe
let group = groups.find(group => group.name == oldName);
// On vérifie que le groupe existe bien
if(group){
// On modifie le nom du groupe
// cf. https://developers.google.com/people/api/rest/v1/contactGroups/update
// Note annexe : Il est nécessaire de mettre le etag, qui sert de validation cache. Sans ce paramètre, il y aura une erreur "Fingerprint missing".
People.ContactGroups.update({contactGroup: { name: newName, etag: group.etag}}, group.resourceName);
}
}
Une version sans la fonction qui correspond exactement à ce que vous cherchez serait du coup :
Code : Tout sélectionner
let oldName = "CKD EPI";
let newName = "CKD EPI / CROKOFF / CREAT";
let groups = People.ContactGroups.list().contactGroups;
let group = groups.find(group => group.name == oldName);
if(group){
People.ContactGroups.update({contactGroup: { name: newName, etag: group.etag}}, group.resourceName);
}
À noter en revanche que c’est bien un
renommage du groupe, si l’idée est de transférer les membres du groupe de départ vers le groupe d’arrivée en gardant l’étiquette initiale, il faudra procéder autrement !
Re: Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact
Publié : 01 juin 2023 17:25
par Lolowr
Je suis vraiment désolé NC_Quentin ...j'ai zappé ta réponse mais j'ai beaucoup avancé sur le sujet et trouvé la solution
Je viens d 'ouvrir un nouveau sujet sur
Sujet :Changer la photo de profil de tous les contacts appartenant a un groupe de contact
A l aide d un google appscript est il possible de changer la photo de profil de tous les contacts appartenant a un groupe de contact "SORTIES PATIENTELE" par une photo stocker dans Google photo
Photo dans Google Photo : var nouvellePhotoUrl = '
https://lh3.googleusercontent.com/conta ... TQ4oLS-0xQ'; // URL de la nouvelle photo dans Google Photos