ASP.Net - Google Calendar API V3 redirect_uri_mismatch错误

时间:2016-11-26 05:36:00

标签: asp.net google-calendar-api

使用Google Calendar API V3获取刷新令牌时出现redirect_uri_mismatch错误。我有网络应用程序,它向用户显示谷歌日历访问同意窗口,如果用户允许访问,则存储从请求收到的刷新令牌到我的数据库。我也有Windows服务,每天运行一次。此服务为允许日历访问我的应用程序的所有用户提取Google日历活动。它在我的本地环境中工作正常但在现场网站上出错。

我在生成客户端ID和密码时选择应用类型作为其他。如何在实时网址上解决此错误或在哪里可以更改Google API控制台中的重定向uri?

我有使用日历api的web应用程序和Windows服务,所以我想要同时使用相同的客户端ID和秘密需求。为应用程序类型Web应用程序和其他Windows服务生成单独的令牌对我来说不是一个选项,因为我已经尝试过,它会抛出未经授权的客户端错误,而Windows服务尝试使用刷新令牌生成的抛出Web应用程序客户端ID&秘密。

1 个答案:

答案 0 :(得分:0)

此错误表示您正在使用Web重定向流而不是使用JS小部件支持的推荐流。 Web重定向流不利用许多功能,例如跨设备登录,无线安装等。

此问题与客户端ID的授权重定向URI 字段设置有关。

要解决:

  • 访问Google API Console
  • 中的凭据列表
  • 从项目下拉菜单中选择project
  • 在“凭据”页面上,查找 OAuth 2.0客户端ID 列表,然后选择Web应用程序客户端ID。这会将您带到详细信息页面。
  • Restrictions 部分中,授权重定向URI 字段应包含将接收重定向流的相应协议,主机名,端口和路径信息

这是一张相关的SO票:Google OAuth 2.0 redirect_uri_mismatch error