我已经建立了一个应用程序,从你的谷歌帐户的联系人。但是,我只能使用有电话号码的联系人。
我想把所有的联系人都拔出来,过滤掉那些没有号码的联系人,但一次只能提取100个联系人(否则它会返回一个空的结果),这意味着,如果100个联系人中只有3个有电话号码,它只显示3个,如果有10000个联系人需要筛选,这将成为一个繁琐的过程。
这是我当前的请求网址:
https://www.google.com/m8/feeds/contacts/default/full?max-results=100&alt=json&v=3.0&oauth_token='.$accesstoken如果有什么不同,应用程序是用PHP (CodeIgniter)构建的。
有什么办法,我可以打电话给谷歌,只是返回这些联系人与电话号码?
发布于 2014-09-12 06:38:46
我检查响应中是否有next链接,然后再次调用相同的函数,并将该链接作为附加参数。
foreach($result['feed']['link'] as $link) {
if($link['rel'] == 'next') {
$url = $link['href'] . '&oauth_token='.$accesstoken;
$this->googleimport($url);
}
}需要注意的是,您需要手动添加oauth_token。我花了很长时间才弄明白这一点,而我只是在将我的开始链接与从回复中检索到的链接进行比较之后才意识到这一点。
然后检查我是否已经有了访问记录,并且该令牌是否有效,然后检索下一组记录。我将所有记录保存到一个临时数据库中,并从那里进行所有处理。
发布于 2014-09-11 20:42:29
如果初始查询没有包含足够的联系人,为什么不发出多个查询呢?您可以使用开始索引来抵消后续查询:https://developers.google.com/google-apps/contacts/v3/reference#Parameters。
https://stackoverflow.com/questions/25782616
复制相似问题