使用Google People API确定联系人数量

时间:2016-04-25 00:41:28

标签: google-people

我正在使用Google People API来获取用户的连接,并且由于结果不包括电子邮件地址,电话号码等,因此我调用了people.connections.list并检索了总共50个结果,然后我进行了轮询people:batchGet为用户提取数据(一次最多只能接受50个用户)。这很好用,在循环结果几次后,我可以导入所有的联系人。太好了!

但是由于这种设置和循环的需要(一些用户毕竟有数千个连接)我使用的过程(基本上)反复重定向直到我们完成。这也工作正常,但我想在重定向屏幕上显示进度条,为了做到这一点,我需要知道用户拥有的连接总数。我似乎无法找到任何方法来确定people.connections.list可以返回的总结果数(假设没有传入过滤器或同步令牌)。有没有人知道我可以通过people.connections.list确定需要循环的连接总数的方式?

2 个答案:

答案 0 :(得分:0)

您使用的是哪种语言?这适用于Java。

// Get the user's connections
ListConnectionsResponse r = peopleService.people().connections()
        .list("people/me")
        .setPageSize(500)
        // specify fields to be returned
        .setRequestMaskIncludeField("person.names,person.emailAddresses")
        .execute();

List<Person> connections = r.getConnections();
System.out.println(connections.size());

如果您使用此类网址,您还可以添加要包含的字段:

https://people.googleapis.com/v1/people/me/connections?pageSize=500&requestMask.includeField=person.names%2Cperson.emailAddresses&key={YOUR_API_KEY}

答案 1 :(得分:-2)

最近在列表响应中添加了totalItems字段,该字段应返回列表中的总人数。

但是,更好的解决方法是您应该在request mask中为列表调用请求电子邮件地址,电话号码等