मुख्य कंटेंट तक स्किप करें

C#

API टोकन बनाने और platform.proto डाउनलोड करने के लिए gRPC मार्गदर्शन देखें। नीचे के कमांड उसी डायरेक्टरी में चलाएँ।

.NET कंसोल प्रोजेक्ट बनाएँ:

dotnet new console -n ReconstructExample

प्रोजेक्ट डायरेक्टरी खोलें:

cd ReconstructExample

gRPC क्लाइंट पैकेज जोड़ें:

dotnet add package Grpc.Net.Client
dotnet add package Grpc.Tools
dotnet add package Google.Protobuf

डाउनलोड किया platform.proto, ReconstructExample में कॉपी करें।

प्रोजेक्ट .csproj में यह जोड़ें। Grpc.Tools बिल्ड पर क्लाइंट बनाता है:

<ItemGroup>
<Protobuf Include="platform.proto" GrpcServices="Client" />
</ItemGroup>

बने हुए प्रकार Program.cs में उपयोग करें:

using Cr.Reconstruct.External.Grpc;
using Grpc.Core;
using Grpc.Net.Client;

var token = Environment.GetEnvironmentVariable("CR_RECONSTRUCT_API_TOKEN")
?? throw new InvalidOperationException("Set CR_RECONSTRUCT_API_TOKEN.");
var address = Environment.GetEnvironmentVariable("CR_RECONSTRUCT_GRPC_URL")
?? "https://reconstruct.dev";

using var channel = GrpcChannel.ForAddress(address);
var client = new PlatformService.PlatformServiceClient(channel);
var headers = new Metadata { { "authorization", $"Bearer {token}" } };
var page = await client.ListCatalogsAsync(
new ListCatalogsRequest { PageSize = 10 }, headers, deadline: DateTime.UtcNow.AddSeconds(10));

foreach (var catalog in page.Catalogs)
{
var detail = await client.GetCatalogAsync(
new GetCatalogRequest { CatalogId = catalog.CatalogId }, headers);
Console.WriteLine($"{detail.CatalogId}: {detail.Description}");
}

dotnet run चलाएँ। मूल gRPC चैनल HTTPS authority उपयोग करता है; REST /api/v1/platform पथ नहीं होता।