2014-09-11 5 views
1

Я создал приложение, которое извлекает контакты из вашей учетной записи google. Однако я могу использовать только контакты, у которых есть номер телефона.Получить только контакты с номерами

Я думал о том, чтобы потянуть все контакты и просто отфильтровать те, у которых нет номеров, но я могу только вытащить 100 контактов за раз (иначе он возвращает пустой результат), а это означает, что если только 3 выхода из 100 контактов имеют номера телефонов, он будет показывать только 3. Это станет утомительным процессом, если будет просеиваться 10 000 контактов.

Это мой текущий запрос URL:

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

Если это делает никакой разницы, то приложение построено в PHP (CodeIgniter).

Есть ли способ, которым я могу сделать первоначальный вызов Google, чтобы просто вернуть эти контакты с номерами телефонов?

ответ

1

Я сделал это, проверяя, есть ли next звена в ответ и снова вызывая ту же функцию, с этой ссылкой в ​​качестве дополнительного аргумента.

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

Что очень важно отметить, что вам нужно вручную добавить oauth_token. Это заняло много времени, чтобы понять, и я понял, что после сравнения моей стартовой ссылки с той, которая получена из ответа.

Это значит, что у меня уже есть accesstoken, и если этот токен действителен, он извлекает следующий набор записей. Я сохраняю все записи во временную базу данных и выполняю всю свою обработку.

2

Почему бы не задать несколько запросов, если в исходном списке не было достаточно контактов? Вы можете использовать начальный индекс, чтобы компенсировать последующие запросы: https://developers.google.com/google-apps/contacts/v3/reference#Parameters

+0

В конце концов, это то, что я сделал. Должен был ответить на мой собственный вопрос. Положите это на предложение. – Albert

Смежные вопросы