Google.Apis သည် IWebProxy ပါသော HTTP client များ ဖန်တီးရန် factory တစ်ခု ပေးသည်။ ဖန်တီးထားသော service ကို တည်ဆောက်စဉ် ၎င်းကို ပေးပါ။

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

ဥပမာသည် ပံ့ပိုးထားသော public-data လုပ်ဆောင်ချက်အတွက် API key ဖြင့် ဝင်ရောက်မှုကို အသုံးပြုသည်။ authentication မရှိသော proxy အတွက် proxy credentials သတ်မှတ်ခြင်းကို ချန်လှပ်ပါ။ ထို public-data အကိုင်းတွင် public intermediary များ ခွင့်ပြုပါက HTTP proxy စာရင်းမှ HTTP entry တစ်ခုကို ရွေးပါ။ proxy ၏ အကောင့်နှင့် API key သည် မတူညီသော endpoint များကို ဝန်ဆောင်သည်။

Google.Apis 1.73.0 တွင် BaseClientService.Initializer.HttpClientFactory သည် ပံ့ပိုးထားသော ဖန်တီးမှု hook ဖြစ်သည်။ ForProxy သည် ထို factory မှ ဖန်တီးသော client များတွင် ပေးထားသော proxy ကို သတ်မှတ်သည်။ တောင်းဆိုမှု တည်ဆောက်ခြင်း၊ serialization နှင့် ကျန် SDK pipeline သည် service ထံတွင် ရှိနေသည်။

တောင်းဆိုမှုများ မပို့မီ ၎င်းကို ပြင်ဆင်ပါ။ တည်ဆောက်ပြီးသော client တွင် MessageHandler.InnerHandler ကို အစားထိုးခြင်းသည် ဤကိစ္စတွင် မလိုအပ်ဘဲ အခြား handler ရွေးချယ်မှုများကို စွန့်ပစ်နိုင်သည်။

OAuth credential သည် ၎င်း၏ ကိုယ်ပိုင် HTTP အစီအစဉ်ဖြင့် token ကို ရယူနိုင်သည် သို့မဟုတ် ပြန်လည်ဆန်းသစ်နိုင်သည်။ service ၏ factory ကို သတ်မှတ်ခြင်းသည် သီးခြား ဖန်တီးထားသော credential က token များကို မည်သို့ ရယူသည်ကို မဆုံးဖြတ်ပါ။ proxy မှတစ်ဆင့် မအောင်မြင်သော လုပ်ဆောင်ချက်သည် token ပြန်လည်ရယူခြင်း ဖြစ်ပါက ထို လမ်းကြောင်းကို သီးခြား စစ်ဆေးပါ။ GoogleCredential ကို အသုံးပြုစဉ် ထို token အလုပ်အတွက် CreateWithHttpClientFactory မှ လမ်းကြောင်းပေးထားသော မိတ္တူကို သိမ်းထားပါ။

ဆက်စပ်ဆောင်းပါးများ