【发布时间】:2014-09-03 19:56:59
【问题描述】:
我正在使用 GoogleAppsScript@google.com 提供的自定义版本的“Contact Listings.gs”脚本将来自 Gmail 联系人的数据导入 Google 电子表格。 我无法导入生日。
这是我尝试使用的代码:
function listContacts() {
var parameters = SpreadsheetApp.getActiveRange().getValues()[0];
var group = parameters.shift();
var people;
if ((group) && (group!="")) {
var contactGroup = ContactsApp.findContactGroup(group);
if (contactGroup)
people = contactGroup.getContacts();
} else
people = ContactsApp.getAllContacts();
if (!people)
return;
// grab all the contacts
var retvalues = new Array();
for (var i in people) {
var value = new Array();
value.push(people[i].getFullName());
value.push(people[i].getHomeAddress());
value.push(people[i].getPrimaryEmail());
value.push(people[i].getMobilePhone());
value.push(people[i].getHomePhone());
value.push(people[i].getDates(ContactsApp.Field.BIRTHDAY));
for (var j in parameters) {
var info = people[i]["get"+parameters[j]]();
value.push(info);
}
retvalues.push(value);
}
var r;
if ((group) || (parameters.length>0))
r = SpreadsheetApp.getActiveRange().getRowIndex()+1;
else
r = SpreadsheetApp.getActiveRange().getRowIndex();
var c = SpreadsheetApp.getActiveRange().getColumnIndex();
if (retvalues.length>0)
SpreadsheetApp.getActiveSheet().getRange(r,c,retvalues.length,retvalues[0].length).setValues(retvalues);
else
SpreadsheetApp.getActiveSheet().getRange(r,c).setValue("No contacts found.");
}
脚本用“DateField”而不是可读的生日日期填充单元格。
有什么想法吗?
【问题讨论】: