Je développe une application Java où j'implémente l'OAuth à 3 pattes en utilisant google gdata en Java. Cette application est enregistrée sur Google App Engine. Lors de la première étape, j'obtiens le jeton de demande non autorisé avec succès. Je stocke ce jeton en session et crée un lien en utilisant createUserAuthorizationUrl (oauthParameters). Puis en cliquant sur le lien, il me redirige vers "Grant Access Page".comment obtenir un jeton d'accès en utilisant gdata dans java
Maintenant, même si j'autorise l'accès, il ne me montre pas this page. Mais, il me redirige vers mon URL de rappel. Cependant, cela semble correct. Mais, il n'ajoute pas l'entrée sous My Account. Ici, je stocke le oauth_token en session.
Lorsque vous êtes redirigé, l'URL de cette page contient 0auth_token & oauth_verifier, les deux! Maintenant, sur cette URL de rappel, j'ai un bouton de soumission & définir l'action de pour un accessTokenServlet.java. Le code de ce servlet est le suivant:
Maintenant, j'envoie une requête pour récupérer le jeton d'accès. Mon code est:
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
oauthParameters.setOAuthType(OAuthParameters.OAuthType.THREE_LEGGED_OAUTH);
GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(new OAuthHmacSha1Signer());
oauthParameters.setOAuthToken(request.getSession().getAttribute("oauth_token").toString());
oauthParameters.setOAuthTokenSecret(request.getSession().getAttribute("oauth_token_secret").toString());
try {
String accessToken = oauthHelper.getAccessToken(oauthParameters);
out.println("Access Token : " + accessToken);
} catch (OAuthException e) {
//System.out.print("Response Status : " + response.getStatus());
out.println("Exception : ");
e.printStackTrace();
return;
}
En cliquant sur le bouton soumettre, il imprime "jeton d'accès:" & rien! Aucun jeton ne revient!
Je me trompe à l'étape de l'autorisation du jeton de demande lui-même. Mais, je ne reçois pas, quel problème a été généré?
Certainement! J'ai eu le point de "oauth_verifier". En fait, je mets l'URL de rappel et quand redirigé, il montre ce paramètre dans la chaîne de requête dans le navigateur. Je me trompe de ne pas aller le chercher! En outre, je suis en train de mettre en œuvre le point de "traitement des erreurs". Merci beaucoup ! –
Il ne me permet pas de définir le service de feuille de calcul Google: SpreadsheetService googleService = new SpreadsheetService ("Searce-RIGadget-v1.0"); J'ai ajouté des pots Spreadsheet. –
Vous devriez probablement créer une nouvelle question pour cela. C'est un problème différent. –