我正在使用下面的GAS代码向Google通讯录添加新联系人(https://contacts.google.com/):
var contact = ContactsApp.createContact('Bbbb', 'Cccc', 'mymail@mails.com').addUrl(ContactsApp.Field.WORK_WEBSITE, 'https://sites.google.com/site/diccionarioie');
代码完美无缺,但只有一个细节:它将新联系人添加到隐藏列表,而不是主要或可见«联系人»列表。
我知道它有效,因为当我使用查找框搜索新创建的联系人时,在“其他联系人”列表中。我需要从头开始在主要的«Contacts»列表中创建它,否则我必须使用«Add to contacts»图标与每个创建的联系人手动创建(我计划添加数千个联系人。)
感谢。
答案 0 :(得分:2)
对我来说,我必须将它们添加到名为System Group: My Contacts
的联系小组。
function finishAddingContact(contact) {
var mainGroup = ContactsApp.getContactGroup("System Group: My Contacts");
if(mainGroup)
mainGroup.addContact(contact);
}
请注意,getContactGroup(string)
是确切的名称匹配。
我建议检查系统组的ContactGroups,然后从该列表中选择适当的组。它可能是其中联系最多的人:
function inspect() {
var groups = ContactsApp.getContactGroups();
for(var g = 0; g < groups.length; ++g) {
if(groups[g].isSystemGroup()) {
Logger.log(groups[g].getName() + ": " + groups[g].getContacts().length + " members, id=" + groups[g].getId());
}
}
}
答案 1 :(得分:0)
非常感谢 tehhwch 。
我使用你的第二个代码来获得正确的组(&#34;系统组:我的联系人&#34;),然后:
var contact = ContactsApp.createContact('Wunder', 'Bar', 'excellent@help.com');
var group = ContactsApp.getContactGroup("System Group: My Contacts");
group.addContact(contact);
一切正常,联系人可以在我的Android设备中立即看到。