HttpClientFactory.ForProxy ਨਾਲ YouTube .NET ਕਲਾਇੰਟ ਪ੍ਰੌਕਸੀ ਕਨਫਿਗਰ ਕਰੋ
YouTube ਕਲਾਇੰਟ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਇਸਦੇ ਅੰਦਰੂਨੀ ਹੈਂਡਲਰ ਨੂੰ ਬਦਲਣ ਦੀ ਬਜਾਏ ਸੇਵਾ ਇਨਿਸ਼ੀਅਲਾਈਜ਼ਰ ਵਿੱਚ Google.Apis.Http.HttpClientFactory.ForProxy ਵਰਤੋ।
Google.Apis IWebProxy ਵਾਲੇ HTTP ਕਲਾਇੰਟ ਬਣਾਉਣ ਲਈ ਫੈਕਟਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਬਣਾਈ ਗਈ ਸੇਵਾ ਬਣਾਉਣ ਸਮੇਂ ਇਹ ਦਿਓ:
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)
});ਉਦਾਹਰਨ ਸਮਰਥਿਤ ਜਨਤਕ-ਡੇਟਾ ਕਾਰਵਾਈ ਲਈ API ਕੁੰਜੀ ਪਹੁੰਚ ਵਰਤਦੀ ਹੈ। ਬਿਨਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਵਾਲੀ ਪ੍ਰੌਕਸੀ ਲਈ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨਿਰਧਾਰਤ ਕਰਨਾ ਛੱਡ ਦਿਓ। ਉਸ ਜਨਤਕ-ਡੇਟਾ ਸ਼ਾਖਾ ਵਿੱਚ, ਜੇ ਜਨਤਕ ਵਿਚੋਲਿਆਂ ਦੀ ਇਜਾਜ਼ਤ ਹੈ ਤਾਂ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਵਿੱਚੋਂ HTTP ਐਂਟਰੀ ਚੁਣੋ। ਪ੍ਰੌਕਸੀ ਦਾ ਖਾਤਾ ਅਤੇ API ਕੁੰਜੀ ਵੱਖ-ਵੱਖ ਐਂਡਪੌਇੰਟਾਂ ਦੀ ਸੇਵਾ ਕਰਦੇ ਹਨ।
Google.Apis 1.73.0 ਵਿੱਚ, BaseClientService.Initializer.HttpClientFactory ਸਮਰਥਿਤ ਬਣਾਉਣ ਵਾਲਾ ਹੁੱਕ ਹੈ। ForProxy ਉਸ ਫੈਕਟਰੀ ਦੁਆਰਾ ਬਣਾਏ ਕਲਾਇੰਟਾਂ ਉੱਤੇ ਦਿੱਤੀ ਪ੍ਰੌਕਸੀ ਸੈਟ ਕਰਦਾ ਹੈ। ਬੇਨਤੀ ਨਿਰਮਾਣ, ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਬਾਕੀ SDK ਪਾਈਪਲਾਈਨ ਸੇਵਾ ਕੋਲ ਰਹਿੰਦੇ ਹਨ।
ਬੇਨਤੀਆਂ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਕਨਫਿਗਰ ਕਰੋ। ਬਣਾਏ ਕਲਾਇੰਟ ਉੱਤੇ MessageHandler.InnerHandler ਬਦਲਣਾ ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ ਅਤੇ ਹੋਰ ਹੈਂਡਲਰ ਚੋਣਾਂ ਨੂੰ ਛੱਡ ਸਕਦਾ ਹੈ।
OAuth ਪ੍ਰਮਾਣ-ਪੱਤਰ ਆਪਣੀ HTTP ਵਿਵਸਥਾ ਰਾਹੀਂ ਆਪਣਾ ਟੋਕਨ ਪ੍ਰਾਪਤ ਜਾਂ ਤਾਜ਼ਾ ਕਰ ਸਕਦਾ ਹੈ। ਸੇਵਾ ਦੀ ਫੈਕਟਰੀ ਸੈਟ ਕਰਨਾ ਇਹ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਬਣਾਇਆ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਟੋਕਨ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਜੇ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਅਸਫਲ ਹੋਣ ਵਾਲੀ ਕਾਰਵਾਈ ਟੋਕਨ ਮੁੜ-ਪ੍ਰਾਪਤੀ ਹੈ ਤਾਂ ਉਸ ਮਾਰਗ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਜਾਂਚੋ। GoogleCredential ਵਰਤਦੇ ਸਮੇਂ ਉਸ ਟੋਕਨ ਕੰਮ ਲਈ CreateWithHttpClientFactory ਤੋਂ ਰਾਊਟ ਕੀਤੀ ਕਾਪੀ ਰੱਖੋ।