gspread 6-proksiroetering vir API-oproepe en tokenverfrissing
Gee gspread 'n proxy-bewuste gemagtigde sessie en stel die aparte vervoer op wat gebruik word om Google-geloofsbriewe te verfris.
Stel beide gspread se gemagtigde API-sessie en die vervoer vir die verfrissing van geloofsbriewe op wanneer enigeen van hulle die proxy nodig het:
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)Dit gebruik gspread 6 se kliëntkoppelvlak met 'n verskafde sessie en die toepassing se bestaande geloofsbriewe. Dit stel vervoer op, nie sigbladtoestemmings of OAuth-omvang nie. Vir publieke API- en token-eindpunte op 'n toegelate publieke roete, kies 'n ongeverifieerde HTTP-kandidaat uit die HTTP-proxylys vir die roetekaart. Hou albei sessies vry van enige behoue proxyrekening wanneer die tussenganger verander word.
AuthorizedSession voeg geloofsbriewe by API-oproepe en kan hulle verfris. Sonder auth_request kan google-auth nog 'n Requests-sessie vir daardie verkeer skep. Proxy-verstekke op die gemagtigde sessie stel nie een op wat selfstandig geskep word nie.
Die Request-adapter hierbo voorsien daardie tweede roete doelbewus. Hou albei sessies terwyl hulle gebruik word, en sluit dan sessies wat ekstern besit word aan die einde van hul toepassingsbestek.
Dit is Session-verstekke, so Requests se omgewingsamevoeging kan hulle steeds beïnvloed. Verreken geërfde proxy-invoer wanneer 'n vaste roete vereis word.
Gebruik die mislukte URL om 'n sigblad-weiering, 'n proxy-uitdaging en 'n fout by die geloofsbrief-eindpunt te onderskei. 'n Gekasde toegangstoken kan API-oproepe laat slaag sonder dat verfrissing hoegenaamd uitgevoer word.