我一直在尝试从大多数联系人定义的自定义字段中获取自定义值,但是我们没有从下面的脚本中获取任何数据,任何人都可以找出我出错的地方脚本。下面是我正在使用的示例脚本。
在下面的脚本中,我可以获取主电子邮件值,但即使联系人中存在值,所有联系人的自定义字段值也为空。
function GetContactDir() {
var All_Contacts = ContactsApp.getContacts();
var email = new String();
var cust = new String();
var Con_arr = new Array();
for (var i=0; i<All_Contacts.length; i++)
{
email = "";
email = All_Contacts[i].getPrimaryEmail();
Con_arr = All_Contacts[i].getCustomFields("Organization ID"); //NOT WORKING
if (!(email=="") && !(email==null) )
Browser.msgBox(email + " **" + Con_arr[0] + " ** " + String(i) );
}
}
此致 Saravana Kumar P。
答案 0 :(得分:1)
请试试这个: 使用
`Con_arr = All_Contacts[i].getCustomFields();` //without the string value
并替换第Browser.msgBox ...
行
用这个:
if(!(Con_arr.length==0)){Logger.log(email + " **" +Con_arr[0].getLabel()+" = "+Con_arr[0].getValue() )};
然后查看记录器(菜单&gt;查看&gt;日志)
编辑:这是完整的简化测试代码:
function GetContactDir() {
var All_Contacts = ContactsApp.getContacts();
var email = '';
var cust = '';
var Con_arr = new Array()
for (i=0; i<All_Contacts.length; i++){
email = All_Contacts[i].getPrimaryEmail();
Con_arr = All_Contacts[i].getCustomFields() ;
if (!(email=="") && !(email==null) )
if(Con_arr.length>0){Logger.log(email + " **" +Con_arr[0].getLabel()+" = "+Con_arr[0].getValue() )};
}
}
EDIT2:让我们尝试以另一种方式解决问题,按自定义字段搜索: (请用有效的值替换值)
function GetContact_test() {
var All_Contacts = ContactsApp.getContactsByCustomField('value of the field', 'name of the custom field');// note that the first term is a 'QUERY' so you don't need to give the entire ID, a single letter can bring results !
for(n=0;n<All_Contacts.length;++n){
Logger.log(n+' '+All_Contacts[n].getFullName());
}
}