【发布时间】:2021-02-13 01:43:35
【问题描述】:
我正在使用 Google People API 来填充我的仪表板的地址簿。我有很多联系人,所以我的想法是通过为此服务创建特定组来过滤联系人。我需要的基本上是查询在特定组 id 上过滤的所有连接的可能性。似乎官方API只有“列表”方法,没有机会查询。我正在使用 node.js 的客户端库,这是我的代码:
const {google} = require('googleapis');
const getGoogleConnections = async (userToken) => {
const oauth2Client = new google.auth.OAuth2;
oauth2Client.setCredentials({
'access_token': userToken, //Passport session user
});
const googlePeople = await google.people({
version: 'v1',
auth: oauth2Client,
});
const params = {
resourceName: 'people/me',
pageSize: 200,
sortOrder: 'LAST_MODIFIED_DESCENDING',
personFields: ['names', 'emailAddresses', 'memberships', 'organizations'],
};
const connections = await googlePeople.people.connections.list(params);
return connections;
};
我的回答:
"connections": [
{
... //returning all specified personFieldsValues
"memberships": [
{
"metadata": {
"source": {
"type": "CONTACT",
"id": "id value"
}
},
"contactGroupMembership": {
"contactGroupId": "contact group id",
"contactGroupResourceName": "contactGroups/contact group id"
}
},
{
"metadata": {
"source": {
"type": "CONTACT",
"id": "metadata id "
}
},
"contactGroupMembership": {
"contactGroupId": "myContacts",
"contactGroupResourceName": "contactGroups/myContacts"
}
}
]
}
],
我的响应是正确的,API 会返回所有值,但我无法找到一种方法来过滤联系人组 ID 上的这些返回值。以前有人试过吗?
【问题讨论】:
-
不幸的是,在现阶段,People API中似乎没有直接过滤“people.connections”的“group id”返回值的方法。因此,作为当前的解决方法,如何在检索值后通过脚本过滤值。但我不确定这是否与您期望的方向相同。所以我提出了这个作为评论。
-
从端点加载多个资源需要时间,所以这可能是一个想法,但我会等到他们提出过滤方法
-
感谢您的回复。在这种情况下,如何将其发布为当前解决方法的答案?通过这个,我认为它对其他有同样问题的用户很有用。
标签: node.js api google-api-nodejs-client google-people-api