我想用ASP中的Google Drive API将文件上传到Google Drive.NET MVC#.

在调用我的API后执行代码时,google重定向到一个错误页面,显示

Error 400: redirect_uri_mismatch 

我想澄清一下,我提到了项目属性中提到的正确/正确的URL,请调查我的问题.

我附上包含重定向uri的屏幕截图.

error image

推荐答案

重定向uri必须与您在Google开发者控制台中注册的uri完全匹配

如果我们查看您的图像,您注册了以下两个重定向URI

  • http://localhost:60581/
  • http://localhost:60581/api/TwilioWP/CallGoogleAPI

这意味着谷歌将只接受应用程序中的这两个重定向URI.测试结果完全吻合.

现在,如果我们查看错误消息,我们可以看到您的应用程序正在发送

正如你所见,这与你注册的不匹配.你应该做的是复制并添加它.

注意:如果ide正在更改端口,则需要将其设置为静态端口,否则它将无法工作.它需要精确匹配

Google OAuth2: How the fix redirect_uri_mismatch error. Part 2 server sided web applications

Your reall issue.

下面的教程使用了GoogleWebAuthorizationBroker.AuthorizeAsync种方法.这种方法是为安装的应用程序而设计的.所以实际上,您使用的凭据和客户端类型是错误的.如果你想使用这些代码,你需要创建本机或桌面客户端.

如果您try 按原样托管,它将try 打开服务器上的web浏览器.当您需要在用户计算机上打开web浏览器以获得用户同意时.如果你想授权用户使用你的web应用程序,你应该遵循web-applications-asp.net-core-3.

我为大家提供了关于Asp .net core 3 and Google login的教程,其中有一个关于同一主题的YouTube视频链接.

所以问题的真正原因是,您正在为一个已安装的应用程序使用代码,该应用程序的默认重定向Uri为http://127.0.0.1:{Port}/authorize/,并且您正在try 将其用于一个web应用程序.需要将主机设置为web域的主机.

我已经和你正在学习的教程的作者取得了联系.我怀疑他们很快就会解决这个问题.Twitter thread

Asp.net相关问答推荐

如何格式化搜索字符串以从 Razor 页表中的多个列返回部分搜索字符串?

在 AppConfig.json 中存储对象的最佳方式

RNGCryptoServiceProvider - 随机数审核

你能从请求变量中确定时区吗?

在 DataTextField 中组合两个字段.这可能吗?

Asp.Net 会话在 ashx 文件中为空

如何检测 ASP.net 应用程序中的 SqlServer 连接泄漏?

HttpContext.Current.Request.IsAuthenticated 和 HttpContext.Current.User.Identity.IsAuthenticated 有什么区别?

为什么我不能在 ASP.net MVC 中使用服务器控件?

如何获取 ASP.NET 应用程序的完整虚拟路径

IIS 会话超时与 ASP.NET 会话超时

SignalR /signalr/hubs 404 未找到

如何在我自己的方法中模仿 string.Format()?

当.NET抛出WebException((400)错误请求)时如何处理WebResponse?

如何在 ASP.Net Gridview 中添加确认删除选项?

Fiddler 没有从 ASP.NET 网站嗅探 SOAP 流量

OWIN 和 Katana,为什么要将应用程序与服务器解耦?

Docker 中的 ASPNETCORE_ENVIRONMENT

在 ASP.NET MVC 中获取服务器机器名称?

try 为 Medium Trust 开发是否会失败?