Google.Apis teikia gamyklą HTTP klientams su IWebProxy kurti. Pateikite ją kuriant sugeneruotą paslaugą:

var proxy = new System.Net.WebProxy("http://proxy.example:8080");
proxy.Credentials = new System.Net.NetworkCredential(
    proxyUser, proxyPassword);

using var youtube = new Google.Apis.YouTube.v3.YouTubeService(
    new Google.Apis.Services.BaseClientService.Initializer
    {
        ApplicationName = "ExampleVideoClient",
        ApiKey = apiKey,
        HttpClientFactory =
            Google.Apis.Http.HttpClientFactory.ForProxy(proxy)
    });

Pavyzdyje naudojama API rakto prieiga palaikomai viešųjų duomenų operacijai. Nepriskirkite tarpinio serverio kredencialų neautentifikuotam tarpiniam serveriui. Toje viešųjų duomenų šakoje pasirinkite HTTP įrašą iš HTTP tarpinių serverių sąrašo, jei viešieji tarpininkai leidžiami. Tarpinio serverio paskyra ir API raktas aptarnauja skirtingus galinius taškus.

„Google.Apis“ 1.73.0 versijoje BaseClientService.Initializer.HttpClientFactory yra palaikomas kūrimo kabliukas. ForProxy nustato pateiktą tarpinį serverį klientams, kuriuos sukuria ta gamykla. Užklausų sudarymas, serializavimas ir likęs SDK srautas lieka paslaugai.

Sukonfigūruokite tai prieš siųsdami užklausas. Pakeisti MessageHandler.InnerHandler sukurtame kliente čia nereikia ir tai gali atmesti kitus apdorojimo įrenginio pasirinkimus.

OAuth kredencialai gali gauti arba atnaujinti savo prieigos raktą per savo HTTP tvarką. Paslaugos gamyklos nustatymas nenulemia, kaip atskirai sukurti kredencialai gauna prieigos raktus. Patikrinkite tą kelią atskirai, jei prieigos rakto gavimas yra operacija, kuri nepavyksta per tarpinį serverį. Naudodami GoogleCredential, išsaugokite maršrutizuotą kopiją iš CreateWithHttpClientFactory tam prieigos rakto darbui.

Susiję straipsniai