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

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/contacts/AOq4Lda-i33omQ5KEEPZ8Nl2ocSWKwZ48tACcQzSWBbvNGTQ4oLS-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: <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/contacts/AOq4Lda-i33omQ5KEEPZ8Nl2ocSWKwZ48tACcQzSWBbvNGTQ4oLS-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)
}
}

_

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 !