2009-11-08 5 views
1

je suis en train de tirer les données des documents de l'utilisateur de Google Docs en utilisant OAuth, mais je ne peux pas comprendre comment le faire
- quel est le but de oauth_verifier
- comment obtenir l'accès secret de jeton ?
- si j'essaie d'utiliser DocsService ci-dessous, alors j'ai une "erreur de serveur"
- y at-il un tutoriel clair pour cela? Je ne peux pas trouver atm ..
problème oauth (moteur app)

String oauth_verifier = req.getParameter("oauth_verifier"); 
    String oauth_token = req.getParameter("oauth_token"); 
    String oauthtokensecret = req.getParameter("oauth_token_secret"); 

    GoogleOAuthParameters oauthparam = new GoogleOAuthParameters(); 
    oauthparam.setOAuthConsumerKey("consumer key"); 
    oauthparam.setOAuthConsumerSecret("secret"); 
    oauthparam.setOAuthToken(oauth_token); 
    oauthparam.setOAuthTokenSecret(oauthtokensecret); 
    oauthparam.setOAuthVerifier(oauth_verifier); 

    OAuthHmacSha1Signer signer = new OAuthHmacSha1Signer(); 
    GoogleOAuthHelper oauthhelper = new GoogleOAuthHelper(signer); 
    String accesstoken = ""; 
    String accesstokensecret = ""; 

    try { 
     oauthhelper.getUnauthorizedRequestToken(oauthparam); 
     accesstoken = oauthhelper.getAccessToken(oauthparam); 
     accesstokensecret = oauthparam.getOAuthTokenSecret(); 

// DocsService client = new DocsService ("votreentreprise-yourappname-v1"); ...

Répondre

0

Il s'avère que je dois obtenir le oauth_token_secret et le réutiliser plus tard. Ainsi (avant de rediriger l'utilisateur vers page de connexion Google)

oauthhelper.getUnauthorizedRequestToken(oauthparam); 
requesturl = oauthhelper.createUserAuthorizationUrl(oauthparam); 
OAuthTokenSecret.tokenSecret = oauthparam.getOAuthTokenSecret(); 
resp.sendRedirect(requesturl); 

Ensuite, après que l'utilisateur l'accès aux subventions et nous avons été redirigés vers oauth_callback url:

oauthparam.setOAuthToken(oauthtoken); 
oauthparam.setOAuthVerifier(oauthverifier); 
oauthparam.setOAuthTokenSecret(OAuthTokenSecret.tokenSecret); 
oauthhelper.getAccessToken(oauthparam); // access token and access token secret are saved in oauthparam. 
// access google service.. 
GoogleService googleService = new GoogleService("cp", "test222"); 
googleService.setOAuthCredentials(oauthparam, signer); 
BaseFeed resultFeed = googleService.getFeed(feedUrl, Feed.class);