gspread 6-ის პროქსი მარშრუტიზაცია API გამოძახებებისა და ტოკენის განახლებისთვის
მიეცით 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 გამოძახებები წარმატებული გახადოს განახლების საერთოდ შესრულების გარეშე.