Page 1 sur 1

Changer la photo de profil de tous les contacts 👤 appartenant a un groupe de contact

Publié : 01 juin 2023 17:38
par Lolowr
Sujet :Changer la photo de profil de tous les contacts appartenant a un groupe de contact

Bonjour la Team,

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

J''écris actuellement un Script qui me permetrais de travailler et d'affecter des Photos de Profil plutot Emojii ou Signalétique Visuelle à la place de la Photos de Profil

mais j'obtiens une  erreur à cette ligne en mode Debogage.  var response = UrlFetchApp.fetch(apiUrl, options);  // erreur à cette ligne en mode Debogage //
mais j'ai activé People API dans le script

17:10:32
Erreur
Exception: Request failed for https://people.googleapis.com returned code 404. Truncated server response: <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <titl... (use muteHttpExceptions option to examine full response)
changerPhotoProfilAPIPeople
@Code.gs:27
//

function changerPhotoProfilAPIPeople() {
var groupeContacts = 'SORTIES PATIENTELE'; // Nom du groupe de contacts
var nouvellePhotoUrl = 'URL_de_la_photo_dans_Google_Photos'; // URL de la nouvelle photo dans Google Photos
var nouvellePhotoUrl = 'https://lh3.googleusercontent.com/conta ... TQ4oLS-0xQ'; // URL de la nouvelle photo dans Google Photos
var contacts = ContactsApp.getContactGroup(groupeContacts).getContacts();
for (var i = 0; i < contacts.length; i++) {
var contact = contacts;
var resourceId = contact.getId().split('/')[1];
var apiUrl = 'https://people.googleapis.com/v1/people/' + resourceId + ':updateContactPhoto';
var accessToken = ScriptApp.getOAuthToken();
var requestBody = {
photoBytes: UrlFetchApp.fetch(nouvellePhotoUrl).getContent(),
};
var options = {
method: 'post',
contentType: 'application/octet-stream',
headers: {
'Authorization': 'Bearer ' + accessToken,
},
payload: JSON.stringify(requestBody),
};
var response = UrlFetchApp.fetch(apiUrl, options);  // erreur à cette ligne en mode Debogage
Utilities.sleep(1000); // Attendre 1 seconde entre chaque mise à jour de photo (pour éviter les limitations)
}
}

 

Re: Changer la photo de profil de tous les contacts 👤 appartenant a un groupe de contact

Publié : 13 juin 2023 16:45
par NC_Quentin
Bonjour !

Pour utiliser l’API People, il faut l’ajouter aux Services dans vos scripts. Après quoi, après avoir récupéré les différents contacts, il vous faudra effectivement faire une boucle en utilisant la méthode updateContactPhoto sur les contacts en question. 

C’est loin d’être trivial, mais avec ça, vous devriez vous en sortir !