嗨,所以我一直在尝试制作一个使用Biq查询API的应用。
当我在本地加载应用程序时,OAuth2的所有身份验证和客户端机密都能正常工作,但是在部署代码后,我收到以下错误:
错误:redirect_uri_mismatch 请求详细信息
scope=https://www.googleapis.com/auth/bigquery
response_type=code
redirect_uri=https://terradata-test.appspot.com/oauth2callback
access_type=offline
state=https://terradata-test.appspot.com/
display=page
client_id=660103924069.apps.googleusercontent.com
但是看看我的API控制台,我发现重定向uri https://terradata-test.appspot.com/oauth2callback在我的列表中或重定向uri:
重定向URI:
1.https://terradata-test.appspot.com/oauth2callback
2.http://terradata-test.appspot.com/oauth2callback
3.http://1.terradata-test.appspot.com/oauth2callback
4.https://code.google.com/oauthplayground
我不确定我缺少什么来解决这个问题?为什么API控制台中列出的uri存在重定向错误?
该应用程序构建OAuth2装饰器以传递给Biq查询API,如下所示:
CLIENT_SECRETS = os.path.join(os.path.dirname(__file__),
'client_secrets.json')
decorator = oauth2decorator_from_clientsecrets(
CLIENT_SECRETS,
'https://www.googleapis.com/auth/bigquery')
http = httplib2.Http(memcache)
bq = bqclient.BigQueryClient(http, decorator)
我是否应该提供更多代码来澄清情况?任何投入将不胜感激。非常感谢!
单
答案 0 :(得分:2)
在标准Web服务器OAuth 2.0流程(授权代码)中,使用redirect_uri有3个位置。它必须在所有三个地方都相同:
答案 1 :(得分:0)
您可以通过后续步骤创建API凭据 https://console.cloud.google.com/apis/credentials
客户Oauth Id 网络类型 JavaScript授权 - > https://yourapp.appspot.com
授权的URI - > https://yourapp.appspot.com/oauth2callback
这是您在部署之前必须在本地应用中使用的凭据