У меня в appsetting записаны GoogleCredential в таком виде:
"type": "",
"project_id": ""
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": ""
"token_uri": "",
"auth_provider_x509_cert_url": "",
"client_x509_cert_url": "",
"universe_domain": ""
Я создал класс для шаблона параметров:
public class GoogleConfig
{
public const string SectionName = "GoogleBucket";
public GoogleCredentialProperty GoogleCredential { get; set; } = new();
public string GoogleCloudStorageBucket { get; set; } = string.Empty;
}
[JsonObject]
public class GoogleCredentialProperty
{
[JsonPropertyName("type")]public string Type { get; set; } = string.Empty;
[JsonPropertyName("project_id")] public string ProjectId { get; set; } = string.Empty;
}
Добавил сервис:
builder.Services.Configure<GoogleConfig>(builder.Configuration.GetSection(GoogleConfig.SectionName));
Когда через дебаг прошел, оказалось что в объекте GoogleСonfig значение есть только у поля Type