Google Apps 脚本 - 如何解析响应

Posted

技术标签:

【中文标题】Google Apps 脚本 - 如何解析响应【英文标题】:Google Apps Script - How to parse response 【发布时间】:2022-01-13 11:09:36 【问题描述】:

我正在使用 getBatchGet 从组中检索联系人姓名。 这工作得很好。但是,我不知道如何解析响应。下面的变量 res 包含我想要的数据。接下来,我想获取单个字段,例如 displayName。 我怀疑我必须使用某种形式的 JSON,但我的代码尝试失败了。 如何获取 displayName 的字符串值?下面只是一些代码 sn-ps。

var group_contacts = People.People.getBatchGet(
  resourceNames: item,
  personFields: "names"
  
);  

var res = group_contacts.responses;
Logger.log(res);

【问题讨论】:

【参考方案1】:

说明:

People.getBatchGet 请求返回一个由PersonResponse objects 组成的数组,每个都有这个JSON 表示:


  "httpStatusCode": integer,
  "person": 
    object (Person)
  ,
  "requestedResourceName": string,
  "status": 
    object (Status)
  

深入了解Personobject,您可以通过转到Nameobject 并获取displayName 来获取显示名称。

因此,从原始响应中,您可以通过迭代每个资源并使用以下方法获取显示名称:

group_contacts.responses[i].person.names[0].displayName

如果有多个名称,例如别名,您还必须遍历 names 数组。

【讨论】:

以上是关于Google Apps 脚本 - 如何解析响应的主要内容,如果未能解决你的问题,请参考以下文章

带有 GraphQL 解析错误的 Google Apps 脚本 API 请求

如何使用 Google Apps 脚本将 PDF 正文格式化为看起来像电子邮件?

以(Json 格式)解析来自 Google Place api 响应的数据

如何在 Google Apps 脚本中使用服务帐户对 Google 表格进行身份验证

Google Apps 脚本 Google Sheets Gmail 处理新电子邮件 追加行数组

无法通过 Google Apps 脚本中的 YouTube 数据 API 从云端硬盘上传:空响应