gspread 6-ի պրոքսի երթուղավորում API կանչերի և տոկենի թարմացման համար
Տվեք gspread-ին պրոքսին հասկացող լիազորված սեսիա և կարգավորեք Google-ի հավատարմագրերի թարմացման առանձին տրանսպորտը։
Կարգավորեք և՛ gspread-ի լիազորված API սեսիան, և՛ հավատարմագրերի թարմացման հարցման տրանսպորտը, երբ դրանցից որևէ մեկին պետք է պրոքսի։
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)Սա օգտագործում է gspread 6-ի Client ինտերֆեյսը տրված սեսիայի և հավելվածի առկա հավատարմագրերի հետ։ Այն կարգավորում է տրանսպորտը, ոչ թե աղյուսակի թույլտվությունները կամ OAuth շրջանակները։ Թույլատրված հանրային ուղու վրա գտնվող հանրային API և տոկենի վերջնակետերի համար ընտրեք չնույնականացված HTTP թեկնածու HTTP պրոքսի ցանկից երթուղիների քարտեզի համար։ Միջնորդը փոխելիս երկու սեսիաներն էլ ազատ պահեք ցանկացած պահված պրոքսի հաշվից։
AuthorizedSession հավատարմագրեր է ավելացնում API հարցումներին և կարող է թարմացնել դրանք։ Առանց auth_request-ի google-auth-ը կարող է այդ երթևեկության համար ստեղծել ևս մեկ Requests սեսիա։ Լիազորված սեսիայի պրոքսի լռելյայնները չեն կարգավորում ինքնուրույն ստեղծվածը։
Վերևի Request ադապտերը միտումնավոր տրամադրում է այդ երկրորդ ուղին։ Պահեք երկու սեսիաներն էլ օգտագործման ընթացքում, ապա փակեք դրսից պատկանող սեսիաները դրանց կիրառման շրջանակի վերջում։
Սրանք Session լռելյայններ են, ուստի Requests միջավայրի միավորումը դեռ կարող է ազդել դրանց վրա։ Երբ պահանջվում է ֆիքսված երթուղի, հաշվի առեք ժառանգված պրոքսի մուտքերը։
Օգտագործեք ձախողված URL-ը՝ աղյուսակի մերժումը, պրոքսի մարտահրավերը և հավատարմագրերի վերջնակետի խափանումը տարբերելու համար։ Քեշավորված մուտքի տոկենը կարող է API կանչերը հաջող դարձնել առանց թարմացումն ընդհանրապես կատարելու։