2011-05-30 7 views
2
RequestError: Unable to upgrade OAuth request token to access token: 400, signature_invalid 

base_string:POST&https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthGetAccessToken&oauth_consumer_key%3Dcalendar-auth.appspot.com%26oauth_nonce%3D646112512717164%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1306760936%26oauth_token%3D4%252F-cP-Ai1NzxDtLehvtzRbGd4SHZ1-%26oauth_verifier%3DPYGMYX8riH9AfpJvTEh_Ztzm%26oauth_version%3D1.0 

Je suis nouveau à Google Apps development.was essayant de mettre en œuvre OAuth dans une méthode Web application.When j'appelle GetAccessToken(), il montre l'aide de error.Please ci-dessus moi sur ce FROKM .... J'utilise le code suivant ...:développement OAuth pour Google Apps moteur ... Python

class MainHandler(webapp.RequestHandler): 
    def get(self): 
     CONSUMER_KEY = 'xyz' 
     CONSUMER_SECRET = 'xyz' 
     SCOPES = ['https://docs.google.com/feeds/', 'https://www.google.com/calendar/feeds/'] # example of a multi-scoped token 

     client = gdata.docs.client.DocsClient(source='xyz') 

     oauth_callback_url = 'http://%s/get_access_token' % self.request.host 
     request_token = client.GetOAuthToken(
      SCOPES, oauth_callback_url, CONSUMER_KEY, consumer_secret=CONSUMER_SECRET) 
     memcache.add("rtoken",request_token,3600) 
     domain = 'default' # If on a Google Apps domain, use your domain (e.g. 'example.com'). 
     url = str(request_token.generate_authorization_url(google_apps_domain=domain)) 
     self.redirect(url) 

class AuthToken(webapp.RequestHandler): 
    def get(self): 
     client = gdata.docs.client.DocsClient(source='xyz') 
     saved_request_token = memcache.get("rtoken")   
     request_token = gdata.gauth.AuthorizeRequestToken(saved_request_token, self.request.uri) 
     self.response.out.write("Got the token") 
     access_token = client.GetAccessToken(request_token) 

Répondre

0
https://www.google.com/accounts/OAuthGetAccessToken 
{ 
oauth_consumer_key=calendar-auth.appspot.com 
oauth_nonce=646112512717164 
oauth_signature_method=HMAC-SHA1 
oauth_timestamp=1306760936 
oauth_token=4/-cP-Ai1NzxDtLehvtzRbGd4SHZ1- 
oauth_verifier=PYGMYX8riH9AfpJvTEh_Ztzm 
oauth_version=1.0 
} 

je recommande contre l'affichage des jetons OAuth au public.

Selon http://wiki.oauth.net/w/page/12238555/Signed-Callback-URLs, vous devriez afficherons oauth_signature, mais je ne vois pas dans la liste

+0

ouais désolé mon erreur ..Je prendra soin de ce temps nxt .... merci pour votre réponse ... mais je ne reçois pas comment donner le paramètre oauth_signature ... j'appelle le google apis, et en envoyant ma clé de consommateur et le secret en tant que paramètre ... je pensais que google apis b produirait le oauth_signature .... pouvez-vous aidez-moi à ce sujet en regardant par-dessus mon code ... comment afficher cette signature oauth_signature ... :) – bitanalyzer

Questions connexes