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

.NET中Google.Apis.IdentityToolkit.v3无SetProjectConfig方法的解决咨询

解决.NET中Google.Apis.IdentityToolkit.v3找不到SetProjectConfig方法的问题

核心原因

你参考的是Python版Identity Toolkit v3 API文档,但.NET版客户端库在方法命名、结构上与Python版存在差异,并非所有Python版方法都会直接映射到.NET版中。

可行解决方案

方案1:使用Firebase Admin SDK for .NET(推荐)

Firebase官方更推荐通过Admin SDK管理项目配置,包括启用邮箱/密码认证,操作更简洁适配:

  1. 安装NuGet包:
    Install-Package FirebaseAdmin
    
  2. 用服务账号密钥初始化SDK:
    using FirebaseAdmin;
    using Google.Apis.Auth.OAuth2;
    
    FirebaseApp.Create(new AppOptions()
    {
        Credential = GoogleCredential.FromFile("你的服务账号密钥文件路径"),
    });
    
  3. 启用邮箱/密码认证:
    using FirebaseAdmin.Auth;
    
    var auth = FirebaseAuth.DefaultInstance;
    await auth.UpdateAsync(new AuthSettings()
    {
        EmailSignInEnabled = true
    });
    

方案2:直接调用Identity Toolkit REST API

若必须使用Identity Toolkit v3接口,可绕过.NET客户端库,直接发送HTTP请求:

  1. 获取服务账号访问令牌:
    var credential = GoogleCredential.FromFile("你的服务账号密钥文件路径")
        .CreateScoped(new[] { "https://www.googleapis.com/auth/identitytoolkit" });
    var token = await credential.UnderlyingCredential.GetAccessTokenForRequestAsync();
    
  2. 构造请求并发送:
    using System.Net.Http;
    using System.Text.Json;
    
    var httpClient = new HttpClient();
    httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
    
    var requestBody = new
    {
        projectId = "你的Firebase项目ID",
        emailPasswordAuth = new
        {
            enabled = true
        }
    };
    
    var content = new StringContent(JsonSerializer.Serialize(requestBody), System.Text.Encoding.UTF8, "application/json");
    var response = await httpClient.PostAsync("https://identitytoolkit.googleapis.com/v3/relyingparty/setProjectConfig", content);
    response.EnsureSuccessStatusCode();
    

方案3:检查.NET库的对应方法与版本

如果坚持使用Google.Apis.IdentityToolkit.v3 NuGet包:

  • 尝试构造SetProjectConfigRequest对象,通过RelyingParty服务调用:
    using Google.Apis.IdentityToolkit.v3;
    using Google.Apis.IdentityToolkit.v3.Data;
    
    var service = new IdentityToolkitService(new BaseClientService.Initializer()
    {
         HttpClientInitializer = credential
    });
    
    var request = new SetProjectConfigRequest()
    {
         ProjectId = "你的Firebase项目ID",
         EmailPasswordAuth = new EmailPasswordAuthConfig() { Enabled = true }
    };
    
    var response = await service.RelyingParty.SetProjectConfig(request).ExecuteAsync();
    
  • 若仍找不到方法,更新NuGet包到最新版本:
    Update-Package Google.Apis.IdentityToolkit.v3
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:30:45