Gspread оставайся в живых после обновления гугл auth2

Есть несколько примеров того, как "поддерживать связь с электронной таблицей Google в живых". Но все, что я нашел, основано на "старой" системе входа в систему Google, которая больше не работает с апреля 2015 года.

Как правильно поддерживать соединение с таблицей googlespreads с помощью OAuth 2.0?

Я пробовал это

import gspread

from oauth2client.service_account import ServiceAccountCredentials

headers = gspread.httpsession.HTTPSession(headers={'Connection':'Keep-Alive'}) #Allows a persistant connection.
    scope = ['https://spreadsheets.google.com/feeds']
    credentials = ServiceAccountCredentials.from_json_keyfile_name('Apps Script Execution API.json', scope)
    c = gspread.authorize(auth=credentials,http_session=headers)

результат: c = gspread.authorize(auth=credentials,http_session=headers) TypeError: authorize() получил неожиданный аргумент ключевого слова 'auth'

1 ответ

Решение

Поздний ответ на ваш вопрос:

import gspread
from gspread.httpsession import HTTPSession

from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://spreadsheets.google.com/feeds']
key_name = 'something.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(key_name, scope)

#gc = gspread.authorize(credentials) doesn't have a http_session kwarg
http_session = HTTPSession(headers={'Connection':'Keep-Alive'})
gc = gspread.Client(credentials, http_session)
gc.login()
ss = gc.open("Sachibondu-MasonryVaults")
Другие вопросы по тегам