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

使用Google Drive API启动程序报错:client_id.json路径异常

解决Google Drive登录时client_id.json路径错误问题

看起来你的程序在读取client_id.json时,默认用了相对路径,但程序启动时的当前工作目录被自动设置成了C:\Windows\system32(这种情况常发生在以管理员身份启动程序、或通过Windows服务运行程序时),所以才会跑去system32目录找文件,而非你存放文件的程序文件夹。

从你给出的代码片段来看,你已经定义了固定路径c:\ProComercio\,但没看到你用这个路径来拼接client_id.json的完整路径——我猜你加载文件的代码大概率是类似下面的错误写法:

// 错误示例:用相对路径会基于当前工作目录查找
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
    GoogleClientSecrets.LoadFromFile("client_id.json").Secrets,
    Scopes,
    "user",
    CancellationToken.None
).Result;

正确的解决思路

核心是使用绝对路径加载client_id.json,你有两种可靠的方案可选:

方案1:基于程序执行目录加载文件

如果你把client_id.json和程序放在同一个文件夹里,直接获取程序的执行目录来拼接路径:

public Google.Apis.Auth.OAuth2.UserCredential Autenticar() { 
    // 获取当前程序的实际执行目录
    string appRootDir = AppDomain.CurrentDomain.BaseDirectory;
    // 拼接client_id.json的完整绝对路径
    string clientIdFilePath = Path.Combine(appRootDir, "client_id.json");

    // 用绝对路径加载密钥文件
    var secrets = GoogleClientSecrets.LoadFromFile(clientIdFilePath).Secrets;
    // 执行授权逻辑(替换成你的实际权限范围)
    var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
        secrets,
        new[] { DriveService.Scope.Drive },
        "user",
        CancellationToken.None
    ).Result;

    return credential;
}

方案2:用你预定义的caminhoarquivo路径

如果你打算把client_id.json放在c:\ProComercio\目录下,先确保文件已经移到这个目录,再拼接完整路径:

public Google.Apis.Auth.OAuth2.UserCredential Autenticar() { 
    string caminhoarquivo = @"c:\ProComercio\"; 
    // 确保目录存在
    if (!Directory.Exists(caminhoarquivo)) { 
        Directory.CreateDirectory(caminhoarquivo);
    }
    // 拼接client_id.json的绝对路径
    string clientIdFilePath = Path.Combine(caminhoarquivo, "client_id.json");

    // 加载密钥文件并执行授权
    var secrets = GoogleClientSecrets.LoadFromFile(clientIdFilePath).Secrets;
    // 后续授权逻辑...
}

补充说明:为什么会跳到system32?

当你双击运行程序时,当前工作目录默认是程序的执行目录,但如果通过以下方式启动,系统会自动把工作目录切换到system32:

  • 右键程序选择「以管理员身份运行」
  • 程序作为Windows服务运行
  • 从命令提示符的system32目录下启动程序

用绝对路径加载配置文件,就能彻底避开当前工作目录带来的路径混乱问题。

内容的提问来源于stack exchange,提问作者Osvaldo Junior

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:29:06