2014-09-11 151 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,如果該標記有效,則檢索下一組記錄。我將所有記錄保存到臨時數據庫,並從那裏進行所有處理。