我是 App Engine 的新手,正在尝试编写一个应用程序来访问 Google 日历以获取当前时间的任何事件的详细信息。我正在努力了解身份验证应该如何工作以允许访问日历。我相信 OAuth2 是首选的身份验证选项,因此我有一个 client_secrets.json 文件,其中包含来自我单独创建的 API 访问项目的 ClientID 和 Client Secret:
{
"web":{
"auth_uri":"https://accounts.google.com/o/oauth2/auth",
"client_secret":"xxxxxxx",
"token_uri":"https://accounts.google.com/o/oauth2/token",
"client_email":"xxxxxxx@developer.gserviceaccount.com",
"redirect_uris":["https://myapp.appspot.com/oauth2callback"],
"client_x509_cert_url":"https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxx@developer.gserviceaccount.com",
"client_id":"123456789.apps.googleusercontent.com",
"auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
"javascript_origins":["https://myapp.appspot.com"]
}
}
这是使用“下载 JSON”选项从 API Access 项目直接导出的。当我部署我的应用引擎应用程序时,我收到一个错误:
Error: redirect_uri_mismatch
The redirect URI in the request: http://myapp.appspot.com/oauth2callback did not match a registered redirect URI
Learn more
Request Details
scope=https://www.googleapis.com/auth/calendar
response_type=code
access_type=offline
redirect_uri=https://myapp.appspot.com/oauth2callback
display=page
client_id=123456789.apps.googleusercontent.com
对我来说一切都很好,所以我不确定错误告诉我什么。我是否需要以某种方式将 App Engine 应用程序链接到 API Access 项目。我是否缺少其他基本的东西。
如果有任何其他信息可以帮助您了解设置,请告诉我。我想保持职位小。