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")