var proxy = new System.Net.WebProxy("http://proxy.example:8080")
{
    Credentials = proxyCredentials
};
var factory = Google.Apis.Http.HttpClientFactory.ForProxy(proxy);
var routedCredential = credential.CreateWithHttpClientFactory(factory);

credential — это существующий GoogleCredential приложения. Метод возвращает копию, поэтому для работы с токеном или аутентификации API используйте routedCredential, а не продолжайте с оригиналом.

proxyCredentials определяет промежуточную учётную запись; пропустите инициализатор, если он не нужен. В этом неаутентифицированном случае список HTTP-прокси может предложить кандидатов конечных точек, когда назначение токена публично и разрешён маршрут через публичный прокси. Сохраняйте требуемый тип и scope Google credential. Учётные данные прокси не заменяют секрет клиента, ключ сервисного аккаунта или токен доступа.

Клиент службы API — другой путь построения. Передайте и этому транспорту нужную фабрику, когда и запросы службы, и запросы токена требуют прокси. Настройка только службы может оставить более ранний запрос токена без возможности подключиться.

Кэшированный токен доступа позволяет избежать нового обмена. Сравнивайте фактически неудавшийся хост и запрос, а не считайте операцию с кэшированным токеном или создание объекта новым прокси-соединением.

Похожие статьи