Το Google.Apis παρέχει εργοστάσιο για τη δημιουργία πελατών HTTP με IWebProxy. Δώστε το κατά τη δημιουργία της παραγόμενης υπηρεσίας:

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 proxy εάν επιτρέπονται δημόσιοι μεσάζοντες. Ο λογαριασμός του διαμεσολαβητή και το κλειδί API εξυπηρετούν διαφορετικά τελικά σημεία.

Στο Google.Apis 1.73.0, το BaseClientService.Initializer.HttpClientFactory είναι το υποστηριζόμενο άγκιστρο δημιουργίας. Το ForProxy ορίζει τον παρεχόμενο διαμεσολαβητή σε πελάτες που δημιουργεί αυτό το εργοστάσιο. Η κατασκευή αιτημάτων, η σειριοποίηση και η υπόλοιπη ροή του SDK παραμένουν στην υπηρεσία.

Ρυθμίστε το πριν από την αποστολή αιτημάτων. Η αντικατάσταση του MessageHandler.InnerHandler σε κατασκευασμένο πελάτη είναι περιττή εδώ και μπορεί να απορρίψει άλλες επιλογές χειριστή.

Ένα διαπιστευτήριο OAuth μπορεί να αποκτήσει ή να ανανεώσει το διακριτικό του μέσω της δικής του ρύθμισης HTTP. Ο ορισμός εργοστασίου υπηρεσίας δεν καθορίζει πώς ένα ξεχωριστά δημιουργημένο διαπιστευτήριο αποκτά διακριτικά. Ελέγξτε αυτή τη διαδρομή ξεχωριστά εάν η ανάκτηση διακριτικού είναι η λειτουργία που αποτυγχάνει μέσω του διαμεσολαβητή. Όταν χρησιμοποιείτε το GoogleCredential, διατηρήστε το δρομολογημένο αντίγραφο από το CreateWithHttpClientFactory για αυτήν την εργασία διακριτικού.

Σχετικά άρθρα