gpt4 book ai didi

google-apps-script - 自动将 Google 通讯录数据导出到 Google 表格

转载 作者:行者123 更新时间:2023-12-04 10:59:27 25 4
gpt4 key购买 nike

我想自动从我的 Google 通讯录中获取联系信息并将其显示在 Google 表格电子表格中。

我使用以下代码来获取和显示 fullName

`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);
}`

这可以正常工作并返回标记为“指南”的组中的所有名称

我也想返回电子邮件地址。当我将相同的代码与 .getEmails 而不是 .getFullName 一起使用时,它会返回电子邮件字段,而不是我想要的字符串。

我试过 .getEmails(ContactsApp.Field.HOME_EMAIL);.getAddress()如下所示,但它不起作用。我收到错误

Cannot find function getAddress in object EmailField.


`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);
}
`

我希望显示该字段的电子邮件地址,而不是该字段本身。

最佳答案

getEmails() 检索到的值是一个数组。那么这个修改怎么样呢?

修改后的脚本:

当您的脚本被修改时,请进行如下修改。

从:

output.push([addresses.getAddress()]);

到:
output.push([addresses.map(function(e) {return e.getAddress()}).join(",")]);

笔记:
  • 如果修改后的脚本中检索到空值,也请尝试如下修改。
  • 从:
    var addresses = contact[i].getEmails(ContactsApp.Field.HOME_EMAIL);
  • 到:
    var addresses = contact[i].getEmails();

  • 引用:
  • getEmails(label)
  • map()

  • 如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

    关于google-apps-script - 自动将 Google 通讯录数据导出到 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58924340/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com