J'essaie de mettre à jour mes contacts Google à partir d'une feuille. Je veux rechercher la colonne I de la feuille pour vérifier 'en attente'. Si une ligne est en attente, je veux prendre les valeurs dans les colonnes G, H et E de cette ligne et l'ajouter à la note de ce contact.Mise à jour de Google Contact avec une feuille marquée à l'aide des scripts d'application google
Voici ce que j'ai jusqu'ici. Actuellement coincé sur la façon d'obtenir la ligne d'un contact marqué «en attente».
function test(){
var ss = SpreadsheetApp.getActiveSheet();
var data = ss.getDataRange().getValues(); // read all data in the sheet
for(n=9;n<data.length;++n){ // iterate row by row and examine data in column I
if(data[n][0].toString().match('pending')){
var row = ???
var name = ss.getRange(row, 1).getValue();
var contacts = ContactsApp.getContactsByName(name);
for (var i in contacts) {
var donate = ss.getRange(row, 7).getValue();
var pickup = ss.getRange(row, 8).getValue();
var item = ss.getRange(row, 5).getValue();
contacts[i].setNotes(donate + '\n\n' + item + '\n\n' + pickup + '\n\n');}
ss.getRange('9**row**').setValue('done');
}
}
}
Pourquoi préférez-vous 'getSheetById'? En ce qui concerne le script ... fonctionne sauf pour la dernière ligne ne pas itérer ... reste en attente ... – testing123
Parce que SpreadsheetApp.getActiveSheet(); 'ne garantit pas toujours que vous lisez les données de la bonne feuille de calcul. –
J'ai mis à jour ma réponse, vérifiez maintenant. Juste un petit changement dans la boucle 'for' –