တစ်ခုခုက proxy လိုအပ်သည့်အခါ gspread ၏ ခွင့်ပြုထားသော API session နှင့် အထောက်အထား ပြန်လည်သစ်လွင်ရေး တောင်းဆိုမှု သယ်ယူပို့ဆောင်မှု နှစ်ခုလုံးကို ပြင်ဆင်ပါ-

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 မျက်နှာပြင်ကို ပေးအပ်ထားသော session နှင့် အပ်ပလီကေးရှင်း၏ ရှိပြီးသား အထောက်အထားများဖြင့် အသုံးပြုသည်။ ၎င်းသည် သယ်ယူပို့ဆောင်မှုကို ပြင်ဆင်သည်၊ spreadsheet ခွင့်ပြုချက်များ သို့မဟုတ် OAuth နယ်ပယ်များ မဟုတ်ပါ။ ခွင့်ပြုထားသော အများသုံး လမ်းကြောင်းပေါ်ရှိ အများသုံး API နှင့် token ဆုံးမှတ်များအတွက် လမ်းကြောင်းမြေပုံအတွက် HTTP proxy စာရင်းမှ အထောက်အထား မစစ်ဆေးရသေးသော HTTP ကိုယ်စားလှယ်လောင်းကို ရွေးပါ။ ကြားခံကို ပြောင်းသည့်အခါ session နှစ်ခုလုံးကို သိမ်းဆည်းထားသော proxy အကောင့် မှ ကင်းရှင်းစွာ ထားပါ။

AuthorizedSession သည် API တောင်းဆိုမှုများတွင် အထောက်အထားများ ထည့်ပြီး ၎င်းတို့ကို ပြန်လည်သစ်လွင်စေနိုင်သည်။ auth_request မပါလျှင် google-auth သည် ထို သွားလာမှုအတွက် အခြား Requests session တစ်ခု ဖန်တီးနိုင်သည်။ ခွင့်ပြုထားသော session ရှိ proxy မူလတန်ဖိုးများသည် သီးခြားဖန်တီးထားသော session ကို ပြင်ဆင်မပေးပါ။

အထက်ပါ Request အဒက်တာသည် ထို ဒုတိယလမ်းကြောင်းကို တမင်တကာ ပံ့ပိုးပေးသည်။ အသုံးပြုနေစဉ် session နှစ်ခုလုံးကို ထိန်းထားပြီး ၎င်းတို့၏ အပ်ပလီကေးရှင်း နယ်ပယ် အဆုံးတွင် ပြင်ပပိုင်ဆိုင်သော session များကို ပိတ်ပါ။

၎င်းတို့သည် Session မူလတန်ဖိုးများ ဖြစ်သောကြောင့် Requests ပတ်ဝန်းကျင် ပေါင်းစပ်မှုက ၎င်းတို့အပေါ် ဆက်လက် သက်ရောက်နိုင်သည်။ ပုံသေ လမ်းကြောင်း လိုအပ်သည့်အခါ အမွေရရှိသော proxy ထည့်သွင်းချက်များကို ထည့်သွင်းစဉ်းစားပါ။

မအောင်မြင်သော URL ကို အသုံးပြုပြီး spreadsheet ငြင်းပယ်မှု၊ proxy စိန်ခေါ်မှုနှင့် အထောက်အထား ဆုံးမှတ် ချို့ယွင်းမှုကို ခွဲခြားပါ။ သိမ်းဆည်းထားသော အသုံးပြုခွင့် token သည် ပြန်လည်သစ်လွင်ရေးကို လုံးဝ မလုပ်ဆောင်ဘဲ API ခေါ်ဆိုမှုများကို အောင်မြင်စေနိုင်သည်။

ဆက်စပ်ဆောင်းပါးများ