Экөөнүн бирине прокси керек болгондо 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 чакырыктарын жаңыртууну такыр аткарбай эле ийгиликтүү кылышы мүмкүн.

Тектеш макалалар