2014-09-11 56 views
1

我已经构建了一个应用程序,从您的谷歌帐户拉联系人。但是,我只能使用具有电话号码的联系人。检索只有号码联系人

我想过拉出所有的联系人,只是过滤出那些没有数字的,但我一次只能拉出100个联系人(否则它会返回一个空的结果),这意味着如果只有3个联系人在100个联系人中有电话号码,它只会显示3.如果有10000个联系人筛选,这将变成一个单调乏味的过程。

这是我当前请求的URL:

https://www.google.com/m8/feeds/contacts/default/full?max-results=100&alt=json&v=3.0&oauth_token='.$accesstoken 

如果这有什么差别,应用程序内置于PHP(笨)。

有没有什么办法可以让我的初次打电话给谷歌只返回这些联系人的电话号码?

回答

1

我是通过检查响应中是否存在next链接并再次调用相同的函数,并将该链接作为添加的参数来完成的。

foreach($result['feed']['link'] as $link) { 
    if($link['rel'] == 'next') { 
     $url = $link['href'] . '&oauth_token='.$accesstoken; 
     $this->googleimport($url); 
    } 
} 

需要特别注意的是,您需要手动添加oauth_token。这花了我很长时间才弄清楚,我只是意识到,比较我的开始链接和从响应中检索到的链接。

然后检查我是否已经有accesstoken,如果该标记有效,则检索下一组记录。我将所有记录保存到临时数据库,并从那里进行所有处理。