Կարգավորեք և՛ 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 կանչերը հաջող դարձնել առանց թարմացումն ընդհանրապես կատարելու։

Առնչվող հոդվածներ