2012-12-11 22 views
5

Mam problem z wymyśleniem pozornie prostego zadania w bibliotece klienta Java interfejsu API języka API wersji 1.12.0. Mogę uwierzytelnić się przy pomocy OAuth2 i mogę pobierać i manipulować częściami Dysku Google, których potrzebuję do mojej aplikacji. Chciałbym jednak podążać za Google best practices i wyświetlać podstawowe informacje o użytkowniku u góry mojej aplikacji.Klient Java w języku programowania API Google - uzyskaj informacje o użytkowniku

Przeszukałem labirynt dokumentów udostępnianych przez Google i przeszukałem wiele innych witryn i nie mogę znaleźć tego, czego potrzebuję. Przejrzałem interfejs API Userinfo zasugerowany na stronie najlepszych praktyk. O ile widzę, powinien on być częścią klienta java, którego używam, ale tak nie jest. Znalazłem nawet full method example określając dokładnie, w jaki sposób mogę uzyskać informacje o użytkowniku. Klasa, do której się odnosi - Userinfo - nie wydaje się być częścią żadnej biblioteki dołączonej do biblioteki klienta, której używam. Szukałem dalej, aby sprawdzić, czy brakuje osobnego pliku do pobrania obejmującego klienta Java usług OAuth.

Myślę, że głównym problemem, który mam, jest znalezienie odpowiednich informacji dla bieżącej wersji biblioteki klienta Java. Czy ktoś inny natknął się na ten problem? Byłbym bardzo wdzięczny za wszelkie wskazówki dotyczące uzyskiwania podstawowych informacji o użytkowniku.

Dzięki za pomoc.

Odpowiedz

0

Myślę, że mieszasz API Drip i API OAuth.

użytkownika informacje można uzyskać w API Drive By:

(gdzie usługa jest twój przypadek com.google.api.services.drive.Drive)

About about = service.about().get().execute(); 
System.out.println("Current user name: " + about.getName()); 
System.out.println("Root folder ID: " + about.getRootFolderId()); 
System.out.println("Total quota (bytes): " + about.getQuotaBytesTotal()); 
System.out.println("Used quota (bytes): " + about.getQuotaBytesUsed()); 

Od https://developers.google.com/drive/v2/reference/about/get

0

Dla każdego, kto szuka, jak ja, trzeba:

<dependency> 
     <groupId>com.google.apis</groupId> 
     <artifactId>google-api-services-oauth2</artifactId> 
</dependency> 

Pro wskazówka: jeśli yo masz nazwę klasy Java, przejdź do Maven Central, Advanced Search i seearch dla nazwy klasy. Wyświetli listę wszystkich bibliotek, które zawierają tę klasę. Możesz użyć w pełni kwalifikowanej nazwy lub tylko nazwy klasy. Nawet jeśli nie używasz maven, możesz pobrać plik jar z tego miejsca.

0

Oto przykład z coraz userinfo użyciu OAuth 2 w java Jeśli dodać do Dysku Google z zakresem (np. https://www.googleapis.com/auth/drive.file), można nawet uzyskać dostęp do API Dysku Google

Pełny przykład
https://github.com/riversun/google-login-servlet-example-simple

W serwletu

 GoogleCredential credential = OAuthSession.getInstance().createCredential(req); 

     Oauth2 oauth2 = new Oauth2.Builder(
       new com.google.api.client.http.javanet.NetHttpTransport(), 
       new com.google.api.client.json.jackson2.JacksonFactory(), 
       credential).build(); 

     // Get userInfo using credential 
     Userinfoplus userInfo = oauth2.userinfo().get().execute(); 

W OAuthFilter

// Return OAuth2 scope you want to be granted to by users 
    @Override 
    protected List<String> getScopes() { 

     final String OAUTH2_SCOPE_MAIL = "email"; 
     final String OAUTH2_SCOPE_USERINFO_PROFILE = "https://www.googleapis.com/auth/userinfo.profile"; 

     return Arrays.asList(OAUTH2_SCOPE_MAIL, OAUTH2_SCOPE_USERINFO_PROFILE);} 
Powiązane problemy