API шақырулары мен токенді жаңарту үшін gspread 6 прокси бағдарлауы
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 шақыруларын жаңартуды мүлде орындамай-ақ сәтті етуі мүмкін.