gspread 6 -välityspalvelinreititys API-kutsuille ja tunnuksen uusimiselle
Anna gspreadille välityspalvelimen huomioiva valtuutettu istunto ja määritä erillinen siirto, jota käytetään Google-tunnistetietojen uusimiseen.
Määritä sekä gspreadin valtuutettu API-istunto että tunnistetietojen uusimispyynnön siirto, kun jompikumpi tarvitsee välityspalvelinta:
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)Tämä käyttää gspread 6:n Client-rajapintaa annetulla istunnolla ja sovelluksen olemassa olevilla tunnistetiedoilla. Se määrittää siirron, ei laskentataulukon käyttöoikeuksia tai OAuth-laajuuksia. Julkisille API- ja tunnuspäätepisteille sallitulla julkisella reitillä valitse todentamaton HTTP-ehdokas HTTP-välityspalvelinluettelosta reittikarttaa varten. Pidä molemmat istunnot vapaina mistään tallennetusta välityspalvelintilistä, kun vaihdat välittäjää.
AuthorizedSession lisää tunnistetiedot API-pyyntöihin ja voi uusia ne. Ilman auth_request google-auth voi luoda toisen Requests-istunnon tälle liikenteelle. Valtuutetun istunnon välityspalvelimen oletukset eivät määritä itsenäisesti luotua istuntoa.
Yllä oleva Request-sovitin tarjoaa tuon toisen reitin tarkoituksella. Pidä molemmat istunnot käytön ajan ja sulje ulkoisesti omistetut istunnot niiden sovelluslaajuuden lopussa.
Nämä ovat Session-oletuksia, joten Requestsin ympäristön yhdistäminen voi silti vaikuttaa niihin. Ota perityt välityspalvelinsyötteet huomioon, kun kiinteä reitti vaaditaan.
Käytä epäonnistunutta URL-osoitetta erottamaan laskentataulukon kieltäytyminen, välityspalvelimen haaste ja tunnistetietopäätepisteen virhe. Välimuistiin tallennettu käyttötunnus voi saada API-kutsut onnistumaan ilman, että uusimista suoritetaan lainkaan.