2017-09-11 59 views
1

我正尝试使用JS库从用户联系人中提取所有电子邮件。在所有Gmail联系人组中收取所有电子邮件

设置

1)使用

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初始化的gapi client。 )从步骤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个联系人,并在我的帐户可以看到相同数量的联系人。

那么,使用JS库获取所有联系人组中所有联系人的正确方法是什么?

回答

0

我试过使用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列出了经过身份验证的用户拥有的所有联系人组。 未填充联系人组的成员。

+0

我正在检查airbnb的“导入联系人”功能,当我允许他们从联系人中获取所有电子邮件但是使用JS库时,我没有收到任何电子邮件。我想知道他们是如何做到的 – abhinavmsra

相关问题