Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact Le sujet est résolu

Avatar de l’utilisateur
Lolowr
Messages : 18
Inscription : 29 nov. 2022 17:16
A remercié : 8 fois

Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact

Message 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]

Code : Tout sélectionner

[b]erreur [/b]
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]
Avatar de l’utilisateur
NC_Quentin

Coach Numericoach
Invétéré
Messages : 32
Inscription : 10 oct. 2022 09:06
A remercié : 1 fois
Remercié : 11 fois

Re: Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact

Message 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 !
Avatar de l’utilisateur
Lolowr
Messages : 18
Inscription : 29 nov. 2022 17:16
A remercié : 8 fois

Re: Script API PEOPLE Renommer un Champs personnalisé existant dans Google Contacts pour un Groupe de Contact

Message 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
 
Répondre

Rejoignez la discussion 💬

Vous devez être enregistré pour participer à la discussion et échanger avec les différents membres

Inscrivez-vous dès aujourd'hui

Vous n'êtes pas encore membre ? Rejoignez-nous gratuitement dès aujourd'hui et contribuer en postant votre réponse ou question sur tous les forums disponibles

Inscription

Connectez-vous