web-dev-qa-db-fra.com

Obtention de l'erreur: redirect_uri_mismatch L'URI de redirection de la demande: http: // localhost: 8080/oauth2callback ne correspond pas à un URI de redirection enregistré.

Je reçois cette erreur en essayant d'exécuter mon application ...

The redirect URI in the request: http://localhost:8080/oauth2callback did not match a registered redirect URI

Dans la console Google API, j'ai enregistré mes URL de redirection 

Redirect URIs:  http://localhost:8080/

Et dans le fichier client_secrets.json, j'utilise également la même chose que l'URL de redirection . Je suis ce tutoriel https://developers.google.com/bigquery/articles/dashboard#. addoauth2

Modifier:

Je viens d'apporter des modifications au code existant

Maintenant le

redirect URIs in API console is     http://localhost:8080/oauth2callback

Et voici mon app.yaml

application: hellomydashboard
version: 1
runtime: python
api_version: 1

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /oauth2callback
  script: oauth2client/appengine.py

- url: .*
  script: main.py

Maintenant, il n’affiche aucune erreur mais affiche une page vierge.

Voici mon main.py

from bqclient import BigQueryClient
import httplib2
import os
from google.appengine.api import memcache
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from oauth2client.appengine import oauth2decorator_from_clientsecrets

# Project ID for project to receive bill.
# During limited availability preview, there is no bill.
# The value should be your quoted Client ID number 
# which you previously recorded from code.google.com/apis/console

# REPLACE THIS NUMBER WITH YOUR CLIENT ID
PROJECT_ID = "My Project ID"  #i just replaced dat
DATASET = "samples"
TABLE = "natality"

# CLIENT_SECRETS, name of a file containing the OAuth 2.0
# information for this application.
CLIENT_SECRETS = os.path.join(os.path.dirname(__file__),
    'client_secrets.json')

http = httplib2.Http(memcache)
decorator = oauth2decorator_from_clientsecrets(CLIENT_SECRETS,
    'https://www.googleapis.com/auth/bigquery')

bq = BigQueryClient(http, decorator)

class MainHandler(webapp.RequestHandler):
    @decorator.oauth_required
    def get(self):
        self.response.out.write("Hello Dashboard!\n")


application = webapp.WSGIApplication([
   ('/', MainHandler),
], debug=True)

def main():
   run_wsgi_app(application)

if __== '__main__':
    main()

Donc, selon main.py, si tout va bien, il faut imprimer Hello Dashboard mais ce n’est pas le cas.

11
iJade

Vous devrez en fait ajouter les éléments suivants à vos URI de redirection:

http://localhost:8080/oauth2callback

De plus, vous devrez peut-être ajouter un / final si ce qui précède ne correspond pas:

http://localhost:8080/oauth2callback/
18
RocketDonkey

en utilisant google openId j'ai configuré cette

URL de redirection: http://domain.com/authenticate/google

sur https://code.google.com/apis/console , si vous devez créer une application si vous n'en avez pas, notez que l'adresse doit correspondre entièrement à l'URL.

3
Javier Gutierrez

on dirait que Google essaie de faire correspondre l’URL à la cause sensible à la casse lorsque je l’ai essayée avec/Authorize et/authorize , il m’a donné redirect_uri_mismatch erreur pour le premier mais a fonctionné pour le dernier

quelqu'un essaie de me faire savoir si je me trompe

1
RohitWagh

Dans la classe principale des fonctions main.py, ajoutez (decorator.callback_path, decorator.callback_handler()), et supprimez

- url: /oauth2callback 
    script: oauth2client/appengine.py 

de app.yaml.

PS: Vous pourriez avoir DownloadError si vous avez un filtre de configuration proxy/webcontent-filter. Si vous désactivez ces configurations ou si vous le déployez sur Google Server, cela fonctionnera parfaitement.

1
kundan

Dans le fichier main.py,

dans la partie où vous créez une application wsgi 

sous application = webapp.wsgiapplication(

ajouter un gestionnaire 

(decorator.callback_path,decorator.callback_handler()),
0
vickypathi