My Code:
function testjson() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var group = ContactsApp.getContactGroup('MyFriends');
var contacts = group.getContacts();
var json = JSON.stringify(contacts[0]);
Logger.log(json);
}
使用调试器时,我可以看到返回的联系人变量是一个包含 18 个对象的数组。调试器显然无法"扩展"对象。所以我包含了获取字符串的JSON.stringify
。运行代码后,将"{}"
json 变量的值。我真正想要的是查看联系人对象中的键名称,以便我可以直接访问字段值。与其使用"var name = contacts[i].getFullName();"
,我想使用"var name = contacts[i].fullname"
或任何全名的键。
Google不会让你像这样访问Contact对象的属性,你必须使用它提供的getFullName((等方法。
对于像 Array 这样的内置对象,您可以使用以下内容列出它们的属性:
function getArrayProperties() {
Logger.log(Object.getOwnPropertyNames(Array));
}
但是,如果您尝试使用联系人或联系人应用程序对象:
function getContactProperties() {
var contact = ContactsApp.getContacts()[0]
Logger.log(Object.getOwnPropertyNames(contact));
}
你只会得到:"类型错误:类型对象的预期参数,但有类型对象。