Google apps script 更新联系人的问题
我正在尝试为google sheets编写一个更新联系人的函数 到目前为止,该函数获取目标联系人,但当我尝试进行更新时,什么也没有发生。 我在contacts下查找,并且Google apps script 更新联系人的问题,google-apps-script,Google Apps Script,我正在尝试为google sheets编写一个更新联系人的函数 到目前为止,该函数获取目标联系人,但当我尝试进行更新时,什么也没有发生。 我在contacts下查找,并且ContactsPP.getContacts()反映了运行时数据未更改 function editContact() { //get highlighted (active) cell data and first cell in its row(id) var ss = SpreadsheetApp.getAc
ContactsPP.getContacts()
反映了运行时数据未更改
function editContact() {
//get highlighted (active) cell data and first cell in its row(id)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var aCell = sheet.getActiveCell();
var id = grabId(aCell)
var strArray = [];
//fetch contact
var contact = ContactsApp.getContactById(id);//works
contact.setFamilyName('Doe-Smith');//does NOT work
var contactName = contact.getFullName();//grabs old unaffected name
strArray.push("contact", contactName);
var title = "Target cell info"
var str = stringMaker(strArray)
showOutputBox(str, title);
}
我根本看不出有什么差错。
非常感谢您在这件事上的帮助。看来该方法毕竟有效,但在我手动编辑受影响的联系人之前,不会反映在contacts.google.com中 90%的人肯定他们会证明我是个傻瓜,但10%的人肯定我是对的,这确实是个错误
问题似乎与错误引导有关,它指出
getFullName()
获取
以字符串形式联系
实际上,FullName
指的是谷歌联系人中的显示名
请尝试以下代码:
Logger.log('given: '+contact.getGivenName());
Logger.log('last: '+contact.getFamilyName());
Logger.log('family: '+contact.getFullName());
contact.setGivenName('Joe');
contact.setFamilyName('Doe-Smith');
contact.setFullName('Testname');
Logger.log('given: '+contact.getGivenName());
Logger.log('last: '+contact.getFamilyName());
Logger.log('family: '+contact.getFullName());
您将看到这三个参数都已更改,但FullName
是一个独立的参数,而不是给定名称和族名称的组合
因此,作为一种解决办法,目前您需要分别设置和获取姓名和姓氏。我已经向谷歌提交了一份报告,希望能够解决这个问题。。非常感谢。这确实是我想要的解决方案。很高兴听到它有帮助!