使用C# GCP客户端时遇Google.Apis.Auth: Invalid sequence, too long错误
解决Google Cloud Pub/Sub C#客户端凭证读取错误
以下是针对Google.Apis.Auth: Error reading credential file from location /Users/myuser/repositories/auth.json: Invalid sequence, too long错误的排查和修复步骤:
重新获取完整的凭证文件
登录Google Cloud控制台,重新下载服务账号的JSON凭证。下载时确保网络稳定,避免文件中途中断导致损坏。打开文件检查:- 确认是标准JSON格式,无多余换行、乱码或截断内容
- 重点查看
private_key字段,确保是完整的字符串,没有被拆分或缺失字符
验证环境变量配置正确性
- 在终端执行对应命令检查环境变量:
macOS/Linux:echo $GOOGLE_APPLICATION_CREDENTIALS
Windows:echo %GOOGLE_APPLICATION_CREDENTIALS% - 确认输出的路径和凭证文件实际路径完全一致,路径中包含空格的话需用引号包裹
- 在终端执行对应命令检查环境变量:
在代码中显式加载凭证
绕过环境变量,直接在代码中指定凭证路径,排除环境变量配置问题:var credential = GoogleCredential.FromFile("/Users/myuser/repositories/auth.json"); var publisher = PublisherClient.CreateBuilder("你的项目ID", "你的主题ID") .SetCredentials(credential) .Build();调整文件读取权限
确保运行程序的用户拥有凭证文件的读取权限:
macOS/Linux下执行:chmod 644 /Users/myuser/repositories/auth.json更新客户端库版本
检查Google.Cloud.PubSub.V1和Google.Apis.AuthNuGet包的版本,更新到最新稳定版,避免版本兼容导致的解析错误
内容的提问来源于stack exchange,提问作者PersianIronwood
相关产品推荐
相关产品推荐

