通过Apps脚本添加的Google联系人无法正常工作

时间:2019-03-23 11:00:07

标签: google-apps-script google-contacts

我正在尝试使用第一部分Google Apps脚本代码来创建新联系人。目标是将来自动从Google工作表中创建联系人,并将其存储在“联系人”中,以便将所有联系人同步到我的手机。但是,创建的联系人是在“其他联系人”而非“联系人”下创建的。 “其他联系人”下可用的联系人不会自动同步到手机。我在做什么错?

我尝试使用简单的代码在Google Apps脚本中添加联系人。 (参考文档)

function CreateContact() {
  var contact = ContactsApp.createContact('Rahul', 'Kumar', 'rahul.kumar@gmail.com');
}

预期的输出:在“联系人”下创建联系人

实际输出:在“其他联系人”下创建联系人

2 个答案:

答案 0 :(得分:0)

将新联系人添加到标签

我发现,如果将它们添加到标签中,则它们会迅速添加到您的联系人中。因此,这里有一个函数可以做到这一点。

function addContact(first,last,email,label) {
  var label=label || 'New';//default label
  if(first && last && email && label) {
    var contact=ContactsApp.createContact(first,last,email);
    var allgroups=ContactsApp.getContactGroups();//gets all groups
    var grpnames=getGroupNamesArray();//Get all the names of your groups in an array
    var index=grpnames.indexOf(label);
    if(index==-1) {
      var grp=ContactsApp.createContactGroup(label);
    }else{
      var grp=allgroups[index];//if group is already there then use it
    }
    contact.addToGroup(grp);  
  }
  //var html=Utilities.formatString('<br />Add New Contact<br />First: %s, Last: %s Email: %s', contact.getGivenName(),contact.getFamilyName(),contact.getEmails()[0].getAddress());//debugging
  //var userInterface=HtmlService.createHtmlOutput(html);//debugging
  //SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Contact');/debugging
}

function getGroupNamesArray() {
  var allGrps=ContactsApp.getContactGroups();
  var allNames=[];
  for(var i=0;i<allGrps.length;i++) {
    allNames.push(allGrps[i].getName());
  }
  return allNames;
}

您可以添加如下联系人:

功能testAddContact1(){   addContact('Kenny','Corral','kenny @ missyou.com',null); // null,采用默认值。您可以将其更改为所需的任何内容。 }

答案 1 :(得分:0)

我们需要将其添加到“我的联系人”组中 var mainGroup = ContactsApp.getContactGroup(“系统组:我的联系人”);