Quiero obtener la lista completa de mis contactos de Google en un archivo JSON, pero solo obtengo el último valor de mis contactos.
¿Qué debo cambiar? o cual es el problema aqui?
function contactsJSON() { var contactsjson = {} var myContacts = ContactsApp.getContactGroup('System Group: My Contacts').getContacts(); for (var i = 0; i < myContacts.length; i++) { var id = myContacts[i].getId(); var name = myContacts[i].getFullName(); var emailsobj = myContacts[i].getEmails(); var email = {} for (var j = 0; j < emailsobj.length; j++) { email[emailsobj[j].getAddress().toLowerCase()] = 1; }; var phonesobj = myContacts[i].getPhones(); var phone = {} for (var j = 0; j < phonesobj.length; j++) { phone[phonesobj[j].getPhoneNumber().replace(/[_)(\s.-]/g, '')] = 1; }; for (var j = 0; j < id.length; j++) { contactsjson = { id: id, name: name, phone: phone, email: email }; } } contactsjson = JSON.stringify(contactsjson); contactsjson = JSON.parse(contactsjson); Logger.log(contactsjson); return contactsjson; }Espero que puedas ayudarme,
federico
Me lo imaginé.
El problema estaba en:
for (var j = 0; j < id.length; j++) { contactsjson = { id: id, name: name, phone: phone, email: email };Lo cambié a:
for (var j = 0; j < phonesobj.length; j++) { contactsjson[phonesobj[j].getPhoneNumber()] = {id: id, name: name, phone: phone, email: email}y ahora está recorriendo correctamente todos los elementos en Mis contactos.
Saludos,
federico