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 कल सफल बनाउन सक्छ।