2015-07-11 6 views
1

Я использую модуль gspread для (попытки) разбора конкретной электронной таблицы на моем Google Диске. Тем не менее, я в конечном итоге хочу превратить этот проект в веб-приложение, поэтому, естественно, я не хочу передавать свои данные для входа. Однако, поскольку мне нужно только прочитать электронную таблицу, не следует ли использовать gspread для чтения содержимого файла без необходимости входа в систему? Я пробовал:Использование gspread для чтения из таблицы Google Диска без входа в систему

gc = gspread.Client(None) 
sheet = gc.open_by_key(KEY) 

Но это терпит неудачу с ошибкой

(<class 'xml.etree.ElementTree.ParseError'>, ParseError(ExpatError('no element found: line 1, column 0',),), None) 

Как я могу добиться этого?

ответ

0

Если честно, я не знаю, из чего исходит ошибка. Вставка большего количества трассировки стека и некоторых дополнительных частей вашего кода может помочь.

Во всяком случае, как вы уже упоминали, вы предпочитаете не использовать вашу регистрационную информацию (адрес электронной почты/пароль).

GSpread также предлагает войти в систему, используя gspread.Client(auth, http_session=None), , где параметр auth является доверенным объектом OAuth2. Объектами учетных данных являются объекты, созданные oauth2client library.

Я нашел this Ссылка очень полезна, чтобы получить ее и получить ее работу.

Вы больше не будете входить в систему со своей учетной записью, что хорошо, вместо этого она получит учетные данные клиента OAuth 2.0 из консоли Google Developers Console. Затем ваше клиентское приложение запрашивает токен доступа с сервера авторизации Google, извлекает токен из ответа и отправляет токен в API Google, к которому вы хотите получить доступ.

+0

Это сработало. Спасибо! – Sawyer

+0

Полезно знать :) Спасибо за принятый ответ. – DJanssens