Sanidi kipindi cha API kilichoidhinishwa cha gspread na usafirishaji wa ombi la uhuishaji wa vitambulisho wakati kimoja kinaitaji proksi:

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)

Hii inatumia kiolesura cha Client cha gspread 6 na kipindi kilichotolewa na vitambulisho vilivyopo vya programu. Inasanidi usafirishaji, si ruhusa za lahajedwali au wigo wa OAuth. Kwa vituo vya mwisho vya API na tokeni vya umma kwenye njia ya umma inayoruhusiwa, chagua mwagizaji wa HTTP asiye na uthibitisho kutoka orodha ya proksi za HTTP kwa ramani ya njia. Weka vipindi vyote viwili bila akaunti yoyote ya proksi iliyohifadhiwa unapobadilisha mpatanishi.

AuthorizedSession huongeza vitambulisho kwa maombi ya API na inaweza kuvihuisha. Bila auth_request, google-auth inaweza kuunda kipindi kingine cha Requests kwa trafiki hiyo. Chaguo-msingi za proksi kwenye kipindi kilichoidhinishwa hazisanidi kile kilichoundwa kwa kujitegemea.

Adapta ya Request hapo juu hutoa njia hiyo ya pili kwa makusudi. Shikilia vipindi vyote viwili vinapotumika, kisha funga vipindi vinavyomilikiwa na nje mwishoni mwa wigo wa matumizi yao.

Hizi ni chaguo-msingi za Session, kwa hivyo muunganiko wa mazingira ya Requests bado unaweza kuziathiri. Zingatia ingizo za proksi zilizorithiwa panapohitajika njia maalum.

Tumia URL iliyoshindwa kutofautisha kukataliwa kwa lahajedwali, changamoto ya proksi na hitilafu ya kiungo cha vitambulisho. Tokeni ya ufikiaji iliyohifadhiwa inaweza kufanya simu za API zifaulu bila kufanya uhuishaji wowote.

Makala zinazohusiana