Comment configurer l'application Google Agenda Java


Je suis avec les instructions de configuration étape par étape de Google, mais pour une raison quelconque, je ne trouve pas quelques paquets qu'ils m'obligent à importer. Les paquets que mon application est incapable de trouver sont (ou les lignes dont monE se plaint):

import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse;
import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource;
import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessTokenRequest.GoogleAuthorizationCodeGrant;
import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAuthorizationRequestUrl;

Je n'arrive pas à trouver les pots qui détiennent ces. Mon chemin de classe contient:

//The Google Calendar Client API:
google-api-services-calendar-v3-rev16-1.8.0-beta.jar

//And of course the Google API Core:
commons-logging-1.1.1.jar
google-api-client-1.11.0-beta.jar
google-api-client-1.11.0-beta.jar.properties
google-api-client-android-1.11.0-beta.jar
google-api-client-android-1.11.0-beta.jar.properties
google-api-client-android2-1.11.0-beta.jar
google-api-client-android2-1.11.0-beta.jar.properties
google-api-client-appengine-1.11.0-beta.jar
google-api-client-java6-1.11.0-beta.jar
google-http-client-1.11.0-beta.jar
google-http-client-1.11.0-beta.jar.properties
google-http-client-android-1.11.0-beta.jar
google-http-client-android-1.11.0-beta.jar.properties
google-http-client-android2-1.11.0-beta.jar
google-http-client-android2-1.11.0-beta.jar.properties
google-http-client-android3-1.11.0-beta.jar
google-http-client-android3-1.11.0-beta.jar.properties
google-http-client-appengine-1.11.0-beta.jar
google-http-client-gson-1.11.0-beta.jar
google-http-client-gson-1.11.0-beta.jar.properties
google-http-client-jackson-1.11.0-beta.jar
google-http-client-jackson-1.11.0-beta.jar.properties
google-http-client-jackson2-1.11.0-beta.jar
google-http-client-jackson2-1.11.0-beta.jar.properties
google-oauth-client-1.11.0-beta.jar
google-oauth-client-1.11.0-beta.jar.properties
google-oauth-client-appengine-1.11.0-beta.jar
google-oauth-client-java6-1.11.0-beta.jar
google-oauth-client-jetty-1.11.0-beta.jar
google-oauth-client-servlet-1.11.0-beta.jar
gson-2.1.jar
gson-2.1.jar.properties
guava-11.0.1.jar
guava-11.0.1.jar.properties
httpclient-4.0.3.jar
httpcore-4.0.1.jar
jackson-core-2.0.5.jar
jackson-core-2.0.5.jar.properties
jackson-core-asl-1.9.9.jar
jackson-core-asl-1.9.9.jar.properties
jdo2-api-2.3-eb.jar
jetty-6.1.26.jar
jetty-util-6.1.26.jar
jsr305-1.3.9.jar
transaction-api-1.1.jar
xpp3-1.1.4c.jar

Je ne suis pas sûr de ce qui me manque, mais j'ai besoin de ces bibliothèques pour continuer le tutoriel. Si plus d'information est nécessaire, je serai heureux de fournir. Je suis un débutant en ce qui concerne l'API Google Agenda. Toute aide est appréciée! Merci!

Author: kentcdodds, 2012-09-23

1 answers

Malheureusement, à ce jour, Google n'a pas mis à jour le code source de configuration Java . Vous n'avez pas besoin de ces classes, et comme d'autres dans leurs commentaires l'ont souligné, elles sont obsolètes.

Remplacer les importations" draft10 " par:

import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.auth.oauth2.GoogleTokenResponse;
import com.google.api.services.calendar.CalendarScopes;

Ensuite, remplacez le code d'autorisation (à partir du commentaire " Étape 1: Autorisez>>") par:

GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
                httpTransport, jsonFactory, clientId, clientSecret,
            Arrays.asList(CalendarScopes.CALENDAR)).setAccessType("online")
                .setApprovalPrompt("auto").build();

String url = flow.newAuthorizationUrl().setRedirectUri(redirectUrl).build();
System.out.println("Please open the following URL in your browser then type the authorization code:");

System.out.println("  " + url);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();

GoogleTokenResponse response = flow.newTokenRequest(code)
                .setRedirectUri(redirectUrl).execute();
GoogleCredential credential = new GoogleCredential()
                .setFromTokenResponse(response);

// Create a new authorized API client
Calendar service = new Calendar.Builder(httpTransport, jsonFactory,
                credential).build();

J'ai eu le même problème et j'ai trouvé l'exemple de code du lecteur à jour. J'ai deviné mon chemin à travers, et je l'ai fait travail. "Flux de code d'autorisation" est décrit ici.

 12
Author: Felix Dobslaw, 2017-11-22 20:12:41