【发布时间】:2019-11-18 23:17:12
【问题描述】:
我想自动从我的 Google 通讯录中获取联系信息并将其显示在 Google 表格电子表格中。
我使用以下代码来获取和显示全名
`function getName() { // Gets the names of everyone in the 'GUIDES' label in Google Contacts
var group = ContactsApp.getContactGroup('GUIDES');
var contacts = group.getContacts(), output = [];
for(var i = 0, iLen = contacts.length; i < iLen; i++) {
var fullname = contacts[i].getFullName();
if(fullname) {
output.push([fullname]);
} else {
continue;
}
}
SpreadsheetApp.getActiveSheet().getRange(4, 3, output.length, 1).setValues(output);
}`
这可以正常工作并返回标记为“Guides”的组中的所有名称
我还想返回电子邮件地址。当我对 .getEmails 而不是 .getFullName 使用相同的代码时,它会返回电子邮件字段,而不是我想要的字符串。
我已经尝试.getEmails(ContactsApp.Field.HOME_EMAIL); 和.getAddress() 如下,但它不起作用。我得到错误
在对象 EmailField 中找不到函数 getAddress。
`function getAddress(){
var group = ContactsApp.getContactGroup('GUIDES');
var contact = group.getContacts(),output = [];
for(var i = 0, iLen = contact.length; i < iLen; i++) {
var addresses = contact[i].getEmails(ContactsApp.Field.HOME_EMAIL);
if(addresses) {
output.push([addresses.getAddress()]);
} else {
continue;
}
}
SpreadsheetApp.getActiveSheet().getRange(4, 4, output.length, 1).setValues(output);
}
`
我希望显示字段的电子邮件地址,而不是字段本身。
【问题讨论】:
标签: google-apps-script google-sheets google-contacts-api