Nastavte autorizovanú reláciu API gspread aj prenos požiadavky na obnovu prihlasovacích údajov, keď niektorý z nich potrebuje proxy:

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)

Používa klientske rozhranie gspread 6 s poskytnutou reláciou a existujúcimi prihlasovacími údajmi aplikácie. Nastavuje prenos, nie povolenia hárka alebo rozsahy OAuth. Pre verejné koncové body API a tokenov na povolenej verejnej trase vyberte neovereného kandidáta HTTP zo zoznamu HTTP proxy pre mapu trás. Pri zmene sprostredkovateľa udržujte obe relácie bez akéhokoľvek uloženého proxy účtu.

AuthorizedSession pridáva prihlasovacie údaje k požiadavkám API a dokáže ich obnoviť. Bez auth_request môže google-auth pre túto prevádzku vytvoriť ďalšiu reláciu Requests. Predvolené hodnoty proxy v autorizovanej relácii nenastavujú tú vytvorenú nezávisle.

Adaptér Request vyššie túto druhú trasu poskytuje zámerne. Obe relácie udržujte počas používania a na konci ich rozsahu použitia zatvorte relácie vlastnené zvonka.

Sú to predvolené hodnoty Session, preto zlúčenie prostredia Requests ich stále môže ovplyvniť. Pri požiadavke na pevnú trasu počítajte so zdedenými vstupmi proxy.

Podľa neúspešnej URL rozlíšte odmietnutie hárka, výzvu proxy a zlyhanie koncového bodu prihlasovacích údajov. Uložený prístupový token môže spôsobiť, že volania API uspejú bez toho, aby sa obnova vôbec vykonala.

Súvisiace články