我的Google Contacts API v3出现问题。我在下面说明了我所做的步骤。Google Contacts API v3,JAVA GET ALL CONTACT“contactFeed.getEntries()is empty”!
- 通过Google的控制台创建client_id,file.p12。
实现身份验证机制:
公共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