У меня проблема с API контактов Google v3. Я проиллюстрирую ниже шаги, которые я сделал.API контактов Google v3, JAVA GET ALL CONTACT «contactFeed.getEntries() пуст»!
- Создание client_id, file.p12 через консоль Google.
Реализация механизма аутентификации:
общественного ContactsExample() {
File p12 = new File("exampleContacts.p12"); HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(JacksonFactory.getDefaultInstance()) .setServiceAccountId("[email protected]") .setServiceAccountPrivateKeyFromP12File(p12) .setServiceAccountScopes(Collections.singleton("https://www.google.com/m8/feeds/")) .build(); if (!credential.refreshToken()) { throw new RuntimeException("Failed OAuth to refresh the token"); } service.setOAuth2Credentials(credential); printAllContacts(service);
}
индексирование моих контактов:
Запрос cQuery = новый запрос (новый Java .net.URL ("https://www.google.com/m8/feeds/contacts/default/full")); cQuery.setMaxResults (10);
ContactFeed feed = service.getFeed(cQuery, ContactFeed.class);
for (ContactEntry contact : feed.getEntries()) {
System.out.println("name: " + contact.getTitle().getPlainText());
}
Когда я выполнить ContactFeed подача = service.getFeed (cQuery, ContactFeed.class) ;, этот метод возвращает пустой список. Чего не хватает?
Я бы добавил, что я выполнил ту же процедуру, используя api JavaScript v3 на стороне клиента, и работает отлично.
Спасибо!
Это не ясно в вашем коде, так что просто дважды проверьте: вы планируете использовать готовые к использованию библиотеки, такие как https://github.com/google/gdata-java-client или http: // cloudsponge .com/contact-importers/gmail? –
Я использую первый: github.com/google/gdata-java-client – emilio86