Ich muss Google Kontakte Informationen einschließlich Kontakt Profilbild abrufen. Dazu benutze ich den unten stehenden Code und alles funktioniert außer dem Profilbild des Kontakts: Der Link, den ich bekomme, führt ins Nirgendwo. Gibt es eine andere Möglichkeit, den Profilbildlink des Kontakts zu erhalten?Abrufen von Google-Kontakt Profil Bild
GoogleCredential gc = new GoogleCredential();
gc.setAccessToken(accessToken);
ContactsService contactsService = new ContactsService("ServiceName");
contactsService.setOAuth2Credentials(gc);
URL url = new URL("https://www.google.com/m8/feeds/contacts/default/full/?max-results=10000");
ContactFeed feed = null;
try {
feed = contactsService.getFeed(url, ContactFeed.class);
} catch (ServiceException e) {
e.printStackTrace();
}
List<SocialContact> contacts = new ArrayList<>();
if (feed != null) {
for (ContactEntry entry : feed.getEntries()) {
SocialContact contact = new SocialContact();
if (entry.hasName()) {
Name name = entry.getName();
if (name.hasFullName()) {
if (name.hasGivenName()) {
String givenName = name.getGivenName().getValue();
if (name.getGivenName().hasYomi()) {
givenName += " (" + name.getGivenName().getYomi() + ")";
}
contact.setFirstName(givenName);
if (name.hasFamilyName()) {
String familyName = name.getFamilyName().getValue();
if (name.getFamilyName().hasYomi()) {
familyName += " (" + name.getFamilyName().getYomi() + ")";
}
contact.setLastName(familyName);
}
}
}
}
for (PhoneNumber number : entry.getPhoneNumbers()) {
contact.setPhone(number.getPhoneNumber());
}
for (Email email : entry.getEmailAddresses()) {
contact.setEmail(email.getAddress());
}
contact.setProfileImageURL(entry.getContactPhotoLink().getHref());
if(contact.getEmail() != null){
contacts.add(contact);
}
}
}
Diese Lösung gibt nur Menschen, die in den Kontakten hinzugefügt. Alle anderen Kontakte, die mir geschrieben haben, kehren nicht zurück. Aber die URL des Fotos ist korrekt und ich kann das Profilbild des Kontakts sehen –