ಎರಡರಲ್ಲಿ ಒಂದಕ್ಕೆ ಪ್ರಾಕ್ಸಿ ಬೇಕಾದಾಗ 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 ಕರೆಗಳನ್ನು ಯಾವುದೇ ರಿಫ್ರೆಶ್ ಇಲ್ಲದೆ ಯಶಸ್ವಿಗೊಳಿಸಬಹುದು.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು