Agordi prokurilon de YouTube .NET-kliento per HttpClientFactory.ForProxy
Uzu Google.Apis.Http.HttpClientFactory.ForProxy en la serva inicializilo anstataŭ anstataŭigi la internan traktilon de YouTube-kliento post konstruo.
Google.Apis provizas fabrikon por krei HTTP-klientojn kun IWebProxy. Donu ĝin dum konstruado de la generita servo:
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)
});La ekzemplo uzas API-ŝlosilan aliron por subtenata publika-datuma operacio. Forlasu la atribuon de prokuraj legitimoj por neaŭtentikigita prokurilo. En tiu publika-datuma branĉo, elektu HTTP-eniron el la listo de HTTP-prokuriloj se publikaj perantoj estas permesitaj. La konto de la prokurilo kaj la API-ŝlosilo servas malsamajn finpunktojn.
En Google.Apis 1.73.0, BaseClientService.Initializer.HttpClientFactory estas la subtenata krea hoko. ForProxy metas la donitan prokurilon sur klientojn kreitajn de tiu fabriko. Petokonstruado, serialigo kaj la resto de la SDK-fluo restas ĉe la servo.
Agordi tion antaŭ ol sendi petojn. Anstataŭigi MessageHandler.InnerHandler en konstruita kliento estas nenecesa ĉi tie kaj povas forĵeti aliajn traktilajn elektojn.
OAuth-legitimo povas akiri aŭ refreŝigi sian ĵetonon per sia propra HTTP-aranĝo. Agordi fabrikon de servo ne determinas kiel aparte kreita legitimo akiras ĵetonojn. Kontrolu tiun vojon aparte se ĵetona akiriĝo estas la operacio, kiu malsukcesas tra la prokurilo. Kiam vi uzas GoogleCredential, konservu la kopion kun la agordita vojo el CreateWithHttpClientFactory por tiu ĵetona laboro.