После выполнения шагов, описанных в разделе «Подготовка к использованию People API» , вы готовы читать, копировать и искать данные «Другие контакты».
Следующие примеры кода демонстрируют, как отправить несколько простых запросов. Полный список методов смотрите в справочной документации .
Перечислите «Другие контакты» пользователя.
Чтобы получить список людей в «Других контактах» пользователя , используйте следующий код:
Протокол
GET /v1/otherContacts?readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com
Ява
ListOtherContactsResponse response = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .execute(); List<Person> otherContacts = response.getOtherContacts();
Перечислите «Другие контакты» пользователя, которые изменились.
Ява
// Initial request ListOtherContactsResponse fullSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setRequestSyncToken(true) .execute(); // Fetch all the pages while (fullSyncResponse.getNextPageToken() != null) { fullSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setRequestSyncToken(true) .setPageToken(fullSyncResponse.getNextPageToken()) .execute(); } // Some time passes // Fetch incremental changes using the sync token returned in the last fullSyncResponse. try { ListOtherContactsResponse incrementalSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setSyncToken(fullSyncResponse.getNextSyncToken()) .execute(); for (Person person : incrementalSyncResponse.getOtherContacts()) { handlePerson(person); } // Fetch all the pages while (!incrementalSyncResponse.getNextPageToken().isEmpty()) { incrementalSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setSyncToken(fullSyncResponse.getNextSyncToken()) .setPageToken(incrementalSyncResponse.getNextPageToken()) .execute(); for (Person person : incrementalSyncResponse.getOtherContacts()) { handlePerson(person); } } } catch (GoogleJsonResponseException e) { if (e.getStatusCode() == 410) { // Sync token expired. Make full sync request. } } void handlePerson(Person person) { if (person.getMetadata().getDeleted()) { // Handle deleted person } else { // Handle changed person } }
Более подробную информацию о поведении синхронизации можно найти в ListOtherContacts .
Скопируйте «Другой контакт» в группу «Мои контакты».
Чтобы скопировать «Другой контакт» в группу «Мои контакты» , используйте следующий код:
Протокол
POST /v1/resource_name:copyOtherContactToMyContactsGroup?copyMask=names,emailAddresses,phoneNumbers HTTP/1.1 Host: people.googleapis.com
Ява
Person copiedContact = peopleService .otherContacts() .copyOtherContactToMyContactsGroup( "resource_name", new CopyOtherContactToMyContactsGroupRequest() .setCopyMask("names,emailAddresses,phoneNumbers")) .execute();
Найдите пользователя в списке «Другие контакты»
Чтобы выполнить поиск по всем «Другим контактам» пользователя , используйте следующий код:
Протокол
// Warmup cache GET /v1/otherContacts:search?query=&readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com // Send search request after several seconds GET /v1/otherContacts:search?query=query&readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com
Ява
// Warmup cache SearchResponse response = peopleService.otherContacts().search() .setQuery("") .setReadMask("names,emailAddresses") .execute(); // Wait a few seconds Thread.sleep(5); // Send search request SearchResponse response = peopleService.otherContacts().search() .setQuery("query") .setReadMask("names,emailAddresses") .execute();
После выполнения шагов, описанных в разделе «Подготовка к использованию People API» , вы готовы читать, копировать и искать данные «Другие контакты».
Следующие примеры кода демонстрируют, как отправить несколько простых запросов. Полный список методов смотрите в справочной документации .
Перечислите «Другие контакты» пользователя.
Чтобы получить список людей в «Других контактах» пользователя , используйте следующий код:
Протокол
GET /v1/otherContacts?readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com
Ява
ListOtherContactsResponse response = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .execute(); List<Person> otherContacts = response.getOtherContacts();
Перечислите «Другие контакты» пользователя, которые изменились.
Ява
// Initial request ListOtherContactsResponse fullSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setRequestSyncToken(true) .execute(); // Fetch all the pages while (fullSyncResponse.getNextPageToken() != null) { fullSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setRequestSyncToken(true) .setPageToken(fullSyncResponse.getNextPageToken()) .execute(); } // Some time passes // Fetch incremental changes using the sync token returned in the last fullSyncResponse. try { ListOtherContactsResponse incrementalSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setSyncToken(fullSyncResponse.getNextSyncToken()) .execute(); for (Person person : incrementalSyncResponse.getOtherContacts()) { handlePerson(person); } // Fetch all the pages while (!incrementalSyncResponse.getNextPageToken().isEmpty()) { incrementalSyncResponse = peopleService.otherContacts().list() .setReadMask("metadata,names,emailAddresses") .setSyncToken(fullSyncResponse.getNextSyncToken()) .setPageToken(incrementalSyncResponse.getNextPageToken()) .execute(); for (Person person : incrementalSyncResponse.getOtherContacts()) { handlePerson(person); } } } catch (GoogleJsonResponseException e) { if (e.getStatusCode() == 410) { // Sync token expired. Make full sync request. } } void handlePerson(Person person) { if (person.getMetadata().getDeleted()) { // Handle deleted person } else { // Handle changed person } }
Более подробную информацию о поведении синхронизации можно найти в ListOtherContacts .
Скопируйте «Другой контакт» в группу «Мои контакты».
Чтобы скопировать «Другой контакт» в группу «Мои контакты» , используйте следующий код:
Протокол
POST /v1/resource_name:copyOtherContactToMyContactsGroup?copyMask=names,emailAddresses,phoneNumbers HTTP/1.1 Host: people.googleapis.com
Ява
Person copiedContact = peopleService .otherContacts() .copyOtherContactToMyContactsGroup( "resource_name", new CopyOtherContactToMyContactsGroupRequest() .setCopyMask("names,emailAddresses,phoneNumbers")) .execute();
Найдите пользователя в списке «Другие контакты»
Чтобы выполнить поиск по всем «Другим контактам» пользователя , используйте следующий код:
Протокол
// Warmup cache GET /v1/otherContacts:search?query=&readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com // Send search request after several seconds GET /v1/otherContacts:search?query=query&readMask=names,emailAddresses HTTP/1.1 Host: people.googleapis.com
Ява
// Warmup cache SearchResponse response = peopleService.otherContacts().search() .setQuery("") .setReadMask("names,emailAddresses") .execute(); // Wait a few seconds Thread.sleep(5); // Send search request SearchResponse response = peopleService.otherContacts().search() .setQuery("query") .setReadMask("names,emailAddresses") .execute();