获取所有Gmail联系人群组中的所有电子邮件

时间:2017-09-11 09:21:04

标签: javascript google-contacts googlecontactsapi

我正在尝试使用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库在所有联系人组中获取所有联系人的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我已尝试使用gapi.client.people.people.connections.list并成功获得red响应。我也没有得到同等的价值。

使用200,以下是回复:

gapi.client.people.people.connections.list

.... ], "nextSyncToken": "^***", "totalPeople": 19, "totalItems": 19 }

gapi.client.people.contactGroups.list()

请注意,people.connections.list仅提供与任何已连接的配置文件合并的经过身份验证的用户的联系人列表。虽然contactGroups.list列出了经过身份验证的用户拥有的所有联系人组。 未填充联系人组的成员。