如何解决出现错误:redirect_uri_mismatch请求中的重定向URI:http:// localhost:8080 / oauth2callback与注册的重定向URI不匹配
http://localhost:8080/oauth2callback
另外,/
如果以上条件不匹配,则可能需要附加尾随:
http://localhost:8080/oauth2callback/
解决方法
尝试运行我的应用程序时出现此错误…
The redirect URI in the request: http://localhost:8080/oauth2callback did not match a registered redirect URI
在Google API控制台中,我已经注册了重定向网址
Redirect URIs: http://localhost:8080/
而且在client_secrets.json中,我也使用与重定向URL相同的名称,我在遵循本教程
https://developers.google.com/bigquery/articles/dashboard#addoauth2
编辑:
我刚刚对现有代码进行了一些更改
现在
redirect URIs in API console is http://localhost:8080/oauth2callback
这是我的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
现在,尽管它没有显示任何错误,但是显示了一个空白页。
这是我的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 __name__ == '__main__':
main()
因此,根据main.py,如果一切正常,则必须打印Hello Dashboard,但事实并非如此
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。