Penghalaan proksi gspread 6 untuk panggilan API dan penyegaran token
Berikan gspread sesi dibenarkan yang sedar proksi dan konfigurasikan pengangkutan berasingan yang digunakan untuk menyegarkan kelayakan Google.
Konfigurasikan kedua-dua sesi API dibenarkan gspread dan pengangkutan permintaan penyegaran kelayakan apabila mana-mana satu memerlukan 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)Ini menggunakan antara muka Client gspread 6 dengan sesi yang dibekalkan dan kelayakan sedia ada aplikasi. Ia mengkonfigurasi pengangkutan, bukan kebenaran hamparan atau skop OAuth. Untuk titik akhir API dan token awam pada laluan awam yang dibenarkan, pilih calon HTTP tanpa pengesahan daripada senarai proksi HTTP untuk peta laluan. Kekalkan kedua-dua sesi bebas daripada mana-mana akaun proksi yang disimpan apabila menukar perantara.
AuthorizedSession menambah kelayakan pada permintaan API dan boleh menyegarkannya. Tanpa auth_request, google-auth boleh mencipta sesi Requests lain untuk trafik itu. Lalai proksi pada sesi dibenarkan tidak mengkonfigurasi sesi yang dicipta secara bebas.
Penyesuai Request di atas membekalkan laluan kedua itu dengan sengaja. Kekalkan kedua-dua sesi semasa digunakan, kemudian tutup sesi milik luar pada penghujung skop aplikasinya.
Ini ialah lalai Session, jadi gabungan persekitaran Requests masih boleh mempengaruhinya. Ambil kira input proksi yang diwarisi apabila laluan tetap diperlukan.
Gunakan URL yang gagal untuk membezakan penolakan hamparan, cabaran proksi dan kegagalan titik akhir kelayakan. Token akses yang dicache boleh menjadikan panggilan API berjaya tanpa melaksanakan sebarang penyegaran.