【发布时间】:2022-11-30 19:24:50
【问题描述】:
我有一个简单的函数(如下所示),它列出了 Google Workspace 域的所有现有架构值。我只想检索特定项目。
这是我的功能:
function listSchema() {
const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName("Domain Schema");
const schemaSafeName = sheet.getRange(4,2).getValue();
try{
Logger.log(AdminDirectory.Schemas.get('my_customer',schemaSafeName));
}
catch(error){
const {code, message} = error.details;
if(code === 400 || code === 404 || code === 409 || code === 412){
console.log("Error 400 or 404 or 409 or 412");
}
else {
console.log(`${code} - ${message}`);
}
}
}
Logger.log(经过美化和注释)输出如下:
{
etag="eObIY8zBQ9kCV0dcsWouNipdJvA0", // DON'T WANT THIS
displayName=Test Schema Group,
fields=
[
{
fieldId=87mf1ADjQwuyvPaKPIa2uw==, // DON'T WANT THIS
readAccessType=ADMINS_AND_SELF,
displayName=Test Field1,
fieldType=BOOL,
fieldName=Test_Field1,
etag="eObIY8zBQ9kCV03CoXVqpKE7PI", // DON'T WANT THIS
multiValued=false,
kind=admin#directory#schema#fieldspec // DON'T WANT THIS
},
{
multiValued=false,
fieldName=Test_Field2,
displayName=Test Field2,
etag="eObIY8zBQ9kCSggLJvV_R8EVdhq8S0O3A", // DON'T WANT THIS
fieldType=BOOL,
fieldId=7pRb-wPQQE2cyVvniaJA==, // DON'T WANT THIS
readAccessType=ADMINS_AND_SELF,
kind=admin#directory#schema#fieldspec // DON'T WANT THIS
}
],
schemaId=tAq6fq92Qn-6egbHjFFkug==, // DON'T WANT THIS
kind=admin#directory#schema, // DON'T WANT THIS
schemaName=Test_Schema_Group133
}
`
注意:每次我运行它的顺序都是不同的,所以我猜想使用某种索引来检索部分输出是行不通的。但我可能错了。
我想得到一个“过滤”的 Logger.log 输出,如下所示: `
{
displayName=Test Schema Group,
fields=
[
{
readAccessType=ADMINS_AND_SELF,
displayName=Test Field1,
fieldType=BOOL,
fieldName=Test_Field1,
multiValued=false,
},
{
multiValued=false,
fieldName=Test_Field2,
displayName=Test Field2,
fieldType=BOOL,
readAccessType=ADMINS_AND_SELF,
}
],
schemaName=Test_Schema_Group133
}
`
所以,基本上,我希望输出忽略“fieldId”、“kind”和“etag”的值。
此外 - 理想情况下 - 我还希望只选择没有名称的值,例如:“Test Schema Group”而不是“displayName = Test Schema Group”。这样我就可以将这些值推送到 Google 表格,每行都有一个预定义的标题,而无需对其进行过滤(使用 Index 函数)。
如果我了解如何执行此操作,则可以对其进行调整以仅获取任何给定的值。我希望...
在此先感谢您的帮助。
【问题讨论】: