我正在使用Google People API来获取用户的连接,并且由于结果不包括电子邮件地址,电话号码等,因此我调用了people.connections.list并检索了总共50个结果,然后我进行了轮询people:batchGet为用户提取数据(一次最多只能接受50个用户)。这很好用,在循环结果几次后,我可以导入所有的联系人。太好了!
但是由于这种设置和循环的需要(一些用户毕竟有数千个连接)我使用的过程(基本上)反复重定向直到我们完成。这也工作正常,但我想在重定向屏幕上显示进度条,为了做到这一点,我需要知道用户拥有的连接总数。我似乎无法找到任何方法来确定people.connections.list可以返回的总结果数(假设没有传入过滤器或同步令牌)。有没有人知道我可以通过people.connections.list确定需要循环的连接总数的方式?
答案 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中为列表调用请求电子邮件地址,电话号码等