2016-07-25 7 views
0

Wenn ich die Google Plus-Profilseite eines Nutzers öffne, werden Kontaktinformationen und Informationen auf Google Plus angezeigt. Ich suche nach ähnlichen Informationen in Google API. Ich versuche, die Liste der Kontakte des Benutzers mit E-Mail und Google plus Profil-ID zu holen, das ist alles.Abrufen der Google Plus-Profil-URL und E-Mail

Hier kann ich Benutzerverbindungen mit Google Plus-Profil-URL abrufen, aber ohne E-Mail oder Telefonnummer.

https://people.googleapis.com/v1/people/me/connections

Hier kann ich Person Kontakte mit E-Mail und Telefonnummer (OAuth2) holen - ohne Google Plus Profil url noch id

https://www.google.com/m8/feeds/contacts/{GOOGLE_ACCOUNT_NAME}%40gmail.com/full?alt=json

Aber ich weiß nicht, wie dies zu kombinieren zwei Ausgänge, um Google Plus-Profil-URL und Kontaktinformationen zu erhalten.

Antwort

1

Sie richtig sind. Verwenden Sie people.get API method, um Profilinformationen für einen Benutzer abzurufen. Verwenden Sie den Wert userId von me, um Profilinformationen für den aktuell autorisierten Benutzer zu erhalten.

gapi.client.load('plus','v1', function(){ 
var request = gapi.client.plus.people.get({ 
'userId': 'me' 
}); 
request.execute(function(resp) { 
console.log('Retrieved profile for:' + resp.displayName); 
}); 
}); 

anzumerken, dass dieses Verfahren eine Authentifizierung erfordert ein Token, das die OAuth scopehttps://www.googleapis.com/auth/plus.login or https://www.googleapis.com/auth/plus.me erteilt wurde.

Plus.People.List listPeople = plus.people().list(
"me", "visible"); 
listPeople.setMaxResults(5L); 

PeopleFeed peopleFeed = listPeople.execute(); 
List<Person> people = peopleFeed.getItems(); 

// Loop through until we arrive at an empty page 
while (people != null) { 
for (Person person : people) { 
System.out.println(person.getDisplayName()); 
} 

// We will know we are on the last page when the next page token is 
// null. 
// If this is the case, break. 
if (peopleFeed.getNextPageToken() == null) { 
break; 
} 

// Prepare the next page of results 
listPeople.setPageToken(peopleFeed.getNextPageToken()); 

// Execute and process the next page request 
peopleFeed = listPeople.execute(); 
people = peopleFeed.getItems(); 
} 

Hier ist ein SO-Ticket im Zusammenhang, die darüber diskutieren, wie Benutzer E-Mail von Google+ Oauth holen: How to get user email from google plus oauth

+0

Ich möchte meine Freunde E-Mails, nicht nur autorisierte Benutzer. –

0

Sie können die Google Api verwenden, um das Benutzerprofil abzurufen. Aus diesem

  1. erstellen Projekt in google api console .Configure die Anmeldeinformationen Client-ID, Client-Schlüssel. Fügen Sie Ihre Weiterleitungs-URI hinzu.

  2. autorisieren die Benutzer mit OAuth2.0 aus dem Projekt mit Bereichen https://www.googleapis.com/auth/plus.me, https://www.googleapis.com/auth/plus.login.

  3. Rufen Sie den Antwortcode nach der Autorisierung ab. Geben Sie die POST-Methode zum Token-Endpunkt url.

  4. Abrufen des access_token, refresh_token, id_token usw. von google plus.

  5. Mit dem access_token. Rufen Sie die Methode GET zur URL "https://www.googleapis.com/plus/v1/people/me/?access_token= '{YOUR_ACCESS_TOKEN}'" auf.

Sie werden von einem json Array gegeben werden, um die autorisierten Benutzerprofil Details wie E-Mail mit Name, ID usw.

+0

Ich mag meine Freunde E-Mails, nicht nur Benutzer autorisieren. –

Verwandte Themen