Routing tal-proxy fi gspread 6 għal sejħiet API u tiġdid tat-token
Agħti lil gspread sessjoni awtorizzata li tifhem il-proxy u kkonfigura t-trasport separat li jintuża biex iġġedded il-kredenzjali ta' Google.
Ikkonfigura kemm is-sessjoni API awtorizzata ta' gspread kif ukoll it-trasport tat-talba għat-tiġdid tal-kredenzjali meta wieħed minnhom ikun jeħtieġ il-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)Dan juża l-interface Client ta' gspread 6 b'sessjoni mogħtija u l-kredenzjali eżistenti tal-applikazzjoni. Jikkonfigura t-trasport, mhux il-permessi tal-spreadsheet jew l-ambiti OAuth. Għall-endpoints pubbliċi tal-API u tat-token fuq rotta pubblika permessa, agħżel kandidat HTTP mhux awtentikat mill-lista tal-proxy HTTP għall-mappa tar-rotot. Żomm iż-żewġ sessjonijiet ħielsa minn kwalunkwe kont tal-proxy miżmum meta tinbidel l-intermedjarju.
AuthorizedSession iżid il-kredenzjali mat-talbiet tal-API u jista' jiġġeddidhom. Mingħajr auth_request, google-auth jista' joħloq sessjoni Requests oħra għal dak it-traffiku. Il-defaults tal-proxy fuq is-sessjoni awtorizzata ma jikkonfigurawx dik maħluqa b'mod indipendenti.
L-adapter Request hawn fuq jipprovdi dik it-tieni rotta apposta. Żomm iż-żewġ sessjonijiet waqt l-użu, imbagħad agħlaq sessjonijiet proprjetà ta' barra fi tmiem l-ambitu tal-applikazzjoni tagħhom.
Dawn huma defaults ta' Session, għalhekk l-għaqda tal-ambjent ta' Requests xorta tista' taffettwahom. Qis l-inputs tal-proxy li ntirtu meta tinħtieġ rotta fissa.
Uża l-URL li falliet biex tiddistingwi rifjut tal-spreadsheet, sfida tal-proxy u ħsara fl-endpoint tal-kredenzjali. Token ta' aċċess fil-cache jista' jġiegħel is-sejħiet API jirnexxu mingħajr ma ssir ebda tiġdid.