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-ൽനിന്ന് റൂട്ട് ചെയ്ത പകർപ്പ് സൂക്ഷിക്കുക.