google-apps-script - google-apps-script ContactsApp.getContact(email) 迁移到 People API
问题描述
如何写这个简单的行:
ContactsApp.getContact(email);
使用新的 People API?
非常感谢 !
解决方案
工作流程:
- 使用people.connections.list获取请求用户的联系人列表,通过
resourceName
(people/me
指经过身份验证的用户) 指定。 - 查找拥有与您要查找的电子邮件地址类似的电子邮件地址的联系人。
重要笔记:
- 自然,您不会得到与 中完全相同的信息
ContactsApp.getContact
,因为它们是不同的 API。在这种情况下,您将获得Person 资源的一个实例。 - 您可以使用(请参阅此处
personFields
的可用字段列表)选择应在检索到的人员上填充哪些信息。通过提供逗号分隔的字段字符串来请求多个字段(在下面的示例中,并且被请求)。emailAddresses
biographies
代码示例:
function getPerson(email) {
const resourceName = "people/me";
const optionalArgs = {
personFields: 'emailAddresses,biographies' // Add the person fields you want
}
const response = People.People.Connections.list(resourceName, optionalArgs);
const { connections } = response;
const person = connections.find(connection => {
return connection["emailAddresses"] && connection["emailAddresses"].some(emailAddress => emailAddress["value"] === email);
});
return person;
}
推荐阅读
- spring - 500内部服务器错误; 在springBoot rest api中使用POST方法时
- mysql - 万一主数据库崩溃,如何切换到从数据库?
- android - 仅对于某些图像,无法从 android 10 中的 URI 获取文件路径
- flutter - 文字溢出,无法控制
- google-cloud-platform - 命令从谷歌云存储桶中的文件中的“字符串”的grep中查找文件名?
- reactjs - 如何为函数组件创建 ref
- angular - 使用 History API 存储状态
- python-3.x - VS代码,输出未显示
- python - Kneighbors 时间序列分类
- visual-studio-2013 - 需要安装 Microsoft.Bcl.Build 的编译错误。如何在单元测试项目上安装 nuget 包 Microsoft.Bcl.Build