C#
टोकन के लिए REST मार्गदर्शन देखें। उदाहरण HttpClient/अंतर्निहित JSON API लेता है; बना gRPC क्लाइंट नहीं चाहिए।
कंसोल प्रोजेक्ट बनाएँ:
dotnet new console -n ReconstructRestExample
प्रोजेक्ट डायरेक्टरी खोलें:
cd ReconstructRestExample
यह Program.cs लें:
using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Text.Json;
var token = Environment.GetEnvironmentVariable("CR_RECONSTRUCT_API_TOKEN")
?? throw new InvalidOperationException("Set CR_RECONSTRUCT_API_TOKEN.");
var baseUrl = Environment.GetEnvironmentVariable("CR_RECONSTRUCT_REST_URL")
?? "https://reconstruct.dev/api/v1/platform";
using var client = new HttpClient { BaseAddress = new Uri(baseUrl.TrimEnd('/') + "/") };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
using var page = await client.GetFromJsonAsync<JsonDocument>("catalogs?pageSize=10")
?? throw new InvalidOperationException("The catalog response was empty.");
if (page.RootElement.TryGetProperty("catalogs", out var catalogs))
{
foreach (var catalog in catalogs.EnumerateArray())
{
var id = catalog.GetProperty("catalogId").GetString()!;
using var detail = await client.GetFromJsonAsync<JsonDocument>(
"catalogs/" + Uri.EscapeDataString(id))
?? throw new InvalidOperationException("The catalog detail was empty.");
Console.WriteLine($"{id}: {detail.RootElement.GetProperty("description").GetString()}");
}
}
dotnet run चलाएँ। सूची में nextPageToken मिले तो URL-encoded pageToken क्वेरी से आगे बढ़ें।