You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core(.NET8)用Google API传YouTube视频遇重定向URI不匹配错误

解决ASP.NET Core(.NET 8)YouTube OAuth 2.0重定向URI不匹配问题

重定向URI不匹配是Google OAuth 2.0授权的高频问题,核心原因是代码配置的回调地址与Google Cloud Console中注册的地址完全不一致。以下是针对性的排查和解决步骤:

1. 校验Google Cloud Console中的重定向URI配置

  • 登录Google Cloud Console,进入目标项目,导航至API和服务 > 凭据
  • 找到创建的OAuth 2.0客户端ID(类型需为"Web应用")
  • 在"已授权的重定向URI"列表中,确保包含项目实际使用的完整回调地址:
    • 本地开发场景:若项目运行在http://localhost:5000,需添加http://localhost:5000/signin-google(ASP.NET Core Google OAuth默认回调路径为/signin-google)
    • 生产环境:替换为你的域名+回调路径,比如https://yourdomain.com/signin-google
  • 注意:必须严格匹配协议(HTTP/HTTPS)、端口、路径,不能有多余斜杠或空格

2. 核对ASP.NET Core项目中的配置

  • 检查appsettings.json或相关配置文件的Google OAuth参数,确保无拼写错误
  • 确认代码中配置Google认证时的CallbackPath与Console中的路径一致,示例代码:
    builder.Services.AddAuthentication(options =>
    {
        options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = GoogleDefaults.AuthenticationScheme;
    })
    .AddCookie()
    .AddGoogle(options =>
    {
        options.ClientId = builder.Configuration["GoogleAuth:ClientId"];
        options.ClientSecret = builder.Configuration["GoogleAuth:ClientSecret"];
        // 此处的CallbackPath必须和Google Console中注册的URI后缀完全一致
        options.CallbackPath = new PathString("/signin-google");
    });
    
  • 检查launchSettings.json中的applicationUrl,确保端口、协议与Console中注册的URI匹配,比如:
    "applicationUrl": "http://localhost:5000;https://localhost:5001"
    
    则需在Console中同时添加http://localhost:5000/signin-google和https://localhost:5001/signin-google(若两种协议均使用)

3. 额外验证点

  • 清除浏览器缓存和Cookie,避免旧授权会话干扰
  • 若使用反向代理或负载均衡,确保转发的请求头包含正确的原始URI,否则ASP.NET Core生成的回调地址可能与实际不符
  • 上传私密视频时,确保请求YouTube Data API的Scope包含https://www.googleapis.com/auth/youtube.upload,并在视频元数据中设置status.privacyStatus = "private"

内容的提问来源于stack exchange,提问作者Venkatesh Pudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:59:56