谷歌:联系人搜索[方法:people.searchDirectoryPeople]

问题描述

我正在使用 google 目录搜索 API,但即使在应用正确的 readMask 之后,我也无法检索用户名(firstName、lastName)的详细信息作为响应 以下是请求详细信息:

{
    "method": "GET","headers": {
        "Authorization": "Bearer access_token","Content-Type": "application/json"
    },"uri": "https://people.googleapis.com/v1/people:searchDirectoryPeople?query=ajay&readMask=names,nicknames,addresses,calendarUrls,emailAddresses,organizations,phoneNumbers,photos,relations&sources=DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT&sources=DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE"
}

注意:我通过 api 获得了正确的结果,但问题是一些联系结果,我没有在响应中获得姓名(名字、姓氏)数据/信息

解决方法

如果您收到 "PERMISSION_DENIED" 错误,这意味着您使用的访问令牌没有目录访问范围:

https://www.googleapis.com/auth/directory.readonly

访问目录联系人所必需的。

你的源参数也应该是:
sources=DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT,DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE
而不是
sources=DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT&sources=DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE

P.S. 在公开帖子中发布真实的访问令牌是一个非常糟糕的主意,当您在线发布 API 请求时,您应该始终编辑秘密。