Google People API listDirectoryPeople 不返回生日

问题描述

当我尝试使用 Google People API 的方法 listDirectoryPeople 获取目录人员数据时:

const directoryPeople = await client.people.listDirectoryPeople({
  readMask: ['birthdays'].join(','),sources: ['DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE','DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT'],});

我得到的结果不包含任何生日数据:

[
  {
    "resourceName": "people/1129142197755918xxxxx","etag": "%EgcBAj0HCDcuxxxxxxx"
  },{
    "resourceName": "people/1157503689313342xxxxx",{
    "resourceName": "people/1075895504789707xxxxx","etag": "%EgcBAj0HCDcuxxxxxxx"
  }
]

但是,当我尝试使用此代码从目录中获取单个人的数据时:

const info = await client.people.get({
  resourceName: 'people/1177805363189588xxxxx',personFields: ['birthdays'].join(',});

我得到一个包含生日数据的结果:

{
  "resourceName": "people/1177805363189588xxxxx","etag": "%EgUBBwg3Lhoxxxxx","birthdays": [
    {
      "Metadata": {
        "primary": true,"source": {
          "type": "DOMAIN_PROFILE","id": "1177805363189588xxxxx"
        }
      },"date": {
        "month": 12,"day": 22
      }
    }
  ]
}

有人可以解释为什么 listDirectoryPeople 方法不返回 birthdays 字段,即使它是 API 文档中的有效 readMask 值吗?

附言searchDirectoryPeople 方法也返回 birthdays 字段。但为什么 listDirectoryPeople 没有这样做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)