2016-04-25 2 views
1

Я использую API Google People для получения подключений пользователя, а так как результаты не включают адреса электронной почты, номера телефонов и т. Д. После вызова функции people.connections.list и получения всего 50 результатов. Затем я опросу людей: batchGet для получения данных для пользователей (которые принимают только до 50 пользователей за раз). Это прекрасно работает, и после нескольких циклов я могу импортировать все контакты. Большой!Определить количество контактов с API Google People

Но из-за этой установки и необходимости цикла (некоторые пользователи имеют тысячи подключений в конце концов) Я использую процесс, который (в основном) перенаправляет снова и снова, пока мы не закончим. Это также отлично работает, но я бы хотел показать индикатор выполнения на экранах перенаправления, и для этого мне нужно знать общее количество подключений, которое имеет пользователь. Кажется, я не могу найти какой-либо способ определить количество общих результатов, которые может вернуть people.connections.list (если не переданы никакие фильтры или токены синхронизации). Кто-нибудь знает, каким образом я могу определить, сколько соединений общее, что нам нужно, чтобы перебрать с people.connections.list?

+0

ли вы получить «Другие контакты» из списка контактов? – heffaklump

+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()); 

Можно также добавить какие поля должны быть включены, если вы используете что-то вроде этого URL:

https://people.googleapis.com/v1/people/me/connections?pageSize=500&requestMask.includeField=person.names%2Cperson.emailAddresses&key={YOUR_API_KEY} 
+0

Я использую PHP. Ваш псевдокод получит размер списка соединений, который я предполагаю, но то, что я получаю, - это общее количество подключений, если бы не было указанного предела. например скажем, у пользователя 4500 контактов, и я получаю 50 из них - я выбрал около 1% контактов. Тогда я получаю еще 50, я до 2%, и так далее. То, что я ищу, - это способ определить это значение 4500 из API, которого я не могу найти. –

-2

Существует недавно добавил totalItems поле на ответ список, который должен вернуть общее число людей, в списке.

Однако лучше исправить это, что вы должны запросить адреса электронной почты, номера телефонов и т.д. в request mask для вызова списка

+0

'totalItems' - это правильный способ получить счет (и, следовательно, реализовать индикатор выполнения). 'RequestMask' не поможет вам с индикатором выполнения, но поможет ограничить количество полей в возвращаемых объектах ответа. Кстати, почему этот ответ подавлен? Единственное редактирование, требуемое в ответ, - это удаление «лучшего исправления», – kunal

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