Konfigurieren Sie sowohl die autorisierte API-Sitzung von gspread als auch den Transport der Anmeldedaten-Erneuerung, wenn eines von beiden den Proxy benötigt:

import requests
import gspread
from google.auth.transport.requests import AuthorizedSession, Request

routes = {
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
}
token_session = requests.Session()
token_session.proxies.update(routes)

session = AuthorizedSession(
    credentials,
    auth_request=Request(session=token_session),
)
session.proxies.update(routes)
client = gspread.Client(auth=credentials, session=session)

Dies nutzt die Client-Schnittstelle von gspread 6 mit einer übergebenen Sitzung und den vorhandenen Anmeldedaten der Anwendung. Es konfiguriert den Transport, nicht Tabellenkalkulationsberechtigungen oder OAuth-Bereiche. Für öffentliche API- und Token-Endpunkte auf einer zulässigen öffentlichen Route wählen Sie einen nicht authentifizierten HTTP-Kandidaten aus der HTTP-Proxy-Liste für die Routenzuordnung. Halten Sie beide Sitzungen frei von einem gespeicherten Proxykonto, wenn der Vermittler gewechselt wird.

AuthorizedSession fügt Anmeldedaten zu API-Anfragen hinzu und kann sie erneuern. Ohne auth_request kann google-auth eine weitere Requests-Sitzung für diesen Datenverkehr erstellen. Proxy-Standardwerte der autorisierten Sitzung konfigurieren die unabhängig erstellte nicht.

Der Request-Adapter oben stellt diese zweite Route bewusst bereit. Behalten Sie beide Sitzungen während der Nutzung und schließen Sie extern verwaltete Sitzungen am Ende ihres Anwendungsbereichs.

Dies sind Session-Standardwerte, daher kann die Zusammenführung der Requests-Umgebung sie weiterhin beeinflussen. Berücksichtigen Sie geerbte Proxy-Eingaben, wenn eine feste Route erforderlich ist.

Nutzen Sie die fehlgeschlagene URL, um eine Ablehnung der Tabelle, eine Proxy-Abfrage und einen Fehler des Anmeldedaten-Endpunkts zu unterscheiden. Ein zwischengespeichertes Zugriffstoken kann API-Aufrufe erfolgreich machen, ohne dass die Erneuerung überhaupt ausgeführt wird.

Ähnliche Artikel