gspread 6 proxy usmeravanje za API pozive i osvežavanje tokena
Dajte gspreadu ovlašćenu sesiju koja poznaje proxy i podesite zasebni transport koji se koristi za osvežavanje Google akreditiva.
Podesite i ovlašćenu API sesiju gspreada i transport zahteva za osvežavanje akreditiva kada bilo kojem od njih treba 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)Ovo koristi Client interfejs gspread 6 sa isporučenom sesijom i postojećim akreditivima aplikacije. Podešava transport, a ne dozvole za tabelu ili OAuth opsege. Za javne API i token endpointove na dozvoljenoj javnoj ruti izaberite neautentifikovanog HTTP kandidata sa HTTP liste proxyja za mapu ruta. Držite obe sesije bez ikakvog sačuvanog proxy naloga kada menjate posrednika.
AuthorizedSession dodaje akreditive API zahtevima i može ih osvežiti. Bez auth_request google-auth može stvoriti drugu Requests sesiju za taj saobraćaj. Proxy podrazumevane vrednosti na ovlašćenoj sesiji ne podešavaju nezavisno stvorenu.
Request adapter iznad namerno obezbeđuje tu drugu rutu. Zadržite obe sesije dok se koriste, a zatim zatvorite sesije u spoljnom vlasništvu na kraju njihovog opsega primene.
Ovo su Session podrazumevane vrednosti, pa spajanje Requests okruženja još uvek može uticati na njih. Uzmite u obzir nasleđene proxy unose kada je potrebna fiksna ruta.
Koristite neuspešni URL da razlikujete odbijanje tabele, proxy izazov i kvar endpointa akreditiva. Keširani pristupni token može učiniti da API pozivi uspeju bez ikakvog izvršavanja osvežavanja.