我正在尝试使用JS库中获取用户联系人的所有电子邮件。
设置
1。)使用
初始化gapi client
gapi.client.init({
apiKey: config['google']['apiKey'],
discoveryDocs:
["https://www.googleapis.com/discovery/v1/apis/people/v1/rest"],
clientId: config['google']['appId'],
scope: "https://www.googleapis.com/auth/contacts.readonly"
})
2。)用户授予许可后,我尝试获取联系方式
gapi.client.people.people.connections.list({
'resourceName': 'people/me',
'pageSize': 500,
'personFields': 'names,emailAddresses'
}).then((response) => {
let connections = response.result.connections;
console.warn(connections);
})
3。)从步骤2开始,我得到零连接。
但是,当我执行
时gapi.client.people.contactGroups.list()
我得到以下响应
{
"contactGroups": [
{
"resourceName": "contactGroups/all",
"groupType": "SYSTEM_CONTACT_GROUP",
"name": "all",
"formattedName": "All Contacts",
"memberCount": 13
},
...
],
"totalItems": 9,
"nextSyncToken": "EJjRiq3lnNYC"
}
从响应中,我可以看到在contactGroups/all
组中,我有13个联系人,在我的帐户中, i 可以看到相同数量的联系人。
那么,使用JS库中所有联系人组中所有联系人的合适方法是什么?
我尝试使用gapi.client.people.people.connections.list
并成功获得了200
响应。我也没有得到平等的值。
使用gapi.client.people.people.connections.list
,这是响应:
....
],
"nextSyncToken": "^***",
"totalPeople": 19,
"totalItems": 19
}
在gapi.client.people.contactGroups.list()
中,
{
"resourceName": "contactGroups/all",
"groupType": "SYSTEM_CONTACT_GROUP",
"name": "all",
"formattedName": "All Contacts",
"memberCount": 155
},
注意到people.connections.list
仅提供认证的用户联系人与任何连接的配置文件合并的列表。而contactGroups.list
列出了身份验证的用户拥有的所有联系人组。接触组的成员没有填充。