webentwicklung-frage-antwort-db.com.de

Fehler beim Abrufen: redirect_uri_mismatch Die Umleitungs-URI in der Anforderung: http: // localhost: 8080/oauth2callback stimmte nicht mit einer registrierten Umleitungs-URI überein

Ich erhalte diesen Fehler, während ich versuche, meine Anwendung auszuführen ...

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

In der Google API-Konsole habe ich meine Weiterleitungs-URLs registriert 

Redirect URIs:  http://localhost:8080/

Und in client_secrets.json verwende ich dasselbe wie die Weiterleitungs-URL . Ich folge diesem Tutorial https://developers.google.com/bigquery/articles/dashboard# addoauth2

Bearbeiten:

Ich habe gerade einige Änderungen an dem vorhandenen Code vorgenommen

Jetzt die

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

Und hier ist meine 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

Es wird zwar kein Fehler angezeigt, aber es wird eine leere Seite angezeigt.

Hier ist mein 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()

Laut main.py muss, wenn alles in Ordnung ist, Hello Dashboard gedruckt werden, ist es aber nicht

11
iJade

Sie müssen den Umleitungs-URIs Folgendes hinzufügen:

http://localhost:8080/oauth2callback

Möglicherweise müssen Sie auch einen nachgestellten / anhängen, wenn das obige nicht übereinstimmt:

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

mit google openId habe ich dies konfiguriert

Umleitungs-URIs: http://domain.com/authenticate/google

wenn Sie unter https://code.google.com/apis/console eine App erstellen müssen, falls Sie keine haben, beachten Sie, dass die URL vollständig übereinstimmen muss

3

es scheint, als würde Google versuchen, die URL mit der Groß- und Kleinschreibung zu vergleichen, wenn ich es mit/Authorize und/Authorize versuchte. Es gab mir redirect_uri_mismatch-Fehler für den ersten, aber für letzteren funktionierte es

jemand versuche und lass es mich wissen, wenn ich falsch liege

1
RohitWagh

In main.py fügt die Hauptklasse (decorator.callback_path, decorator.callback_handler()), hinzu und entfernt sie

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

von app.yaml.

PS: Sie können DownloadError erhalten, wenn Sie über Proxy-Konfiguration/Webcontent-Filter verfügen. Wenn Sie diese Konfigurationen deaktivieren oder auf Google Server bereitstellen, funktioniert dies problemlos.

1
kundan

In der Datei main.py

in dem Teil, in dem Sie eine Wsgi-Anwendung erstellen 

unter application = webapp.wsgiapplication(

einen Handler hinzufügen 

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