Google.Apis udostępnia fabrykę do tworzenia klientów HTTP z IWebProxy. Przekaż ją podczas budowania wygenerowanej usługi:

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)
    });

Przykład używa dostępu z kluczem API do obsługiwanej operacji na danych publicznych. Pomiń przypisanie poświadczeń proxy dla nieuwierzytelnionego proxy. W tej gałęzi danych publicznych wybierz wpis HTTP z listy proxy HTTP, jeśli publiczni pośrednicy są dozwoleni. Konto proxy i klucz API obsługują różne punkty końcowe.

W Google.Apis 1.73.0 BaseClientService.Initializer.HttpClientFactory jest obsługiwanym punktem zaczepienia tworzenia. ForProxy ustawia podane proxy na klientach utworzonych przez tę fabrykę. Budowanie żądań, serializacja i reszta potoku SDK pozostają po stronie usługi.

Skonfiguruj to przed wysłaniem żądań. Zastępowanie MessageHandler.InnerHandler w zbudowanym kliencie nie jest tu potrzebne i może odrzucić inne wybory programu obsługi.

Poświadczenie OAuth może uzyskać lub odświeżyć swój token przez własny układ HTTP. Ustawienie fabryki usługi nie określa, jak osobno utworzone poświadczenie uzyskuje tokeny. Sprawdź tę ścieżkę osobno, jeśli pobieranie tokenu jest operacją, która kończy się niepowodzeniem przez proxy. Podczas korzystania z GoogleCredential zachowaj skierowaną kopię z CreateWithHttpClientFactory do tej pracy z tokenem.

Powiązane artykuły