Я пытаюсь войти с SignedJwtAssertionCredentials, чтобы получить gspread для работы. Я следил за указаниями here с примечаниями для python3. Вот мой класс:OpenSSL.crypto.Error: [] в попытке SignedJwtAssertionCredentials
import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
class GoogleSpreadsheet():
def fetch(self):
gc = gspread.authorize(self.credentials)
wks = gc.open("TEST of Sheet (Responses)").sheet1
print(wks)
def __init__(self, client_email,pk):
scope = ['https://spreadsheets.google.com/feeds']
self.credentials = SignedJwtAssertionCredentials(client_email, bytes(pk, 'utf-8'), scope)
с client_email
и pk
передается из переменных окружения:
gs = GoogleSpreadsheet(app.config.get('GOOGLE_SPREADSHEET_CLIENT_EMAIL'), app.config.get('GOOGLE_SPREADSHEET_PK'))
переменная среды копируется из Google аутентификации JSon файла:
export GOOGLE_SPREADSHEET_PK="-----BEGIN PRIVATE KEY-----\n...\n...keystuff...\n...\n-----END PRIVATE KEY-----\n"
It ошибок из каждая попытка с OpenSSL.crypto.Error: []
Предложение здесь Loading private key fails with OpenSSL.crypto.Error: [] не помогло, так как мой ключ не зашифрован.
Любые предложения?
Я нашел этот ответ (http://stackoverflow.com/a/25435674/888970), чтобы быть полезным для иллюстрации того, что подразумевается под использованием 'json.load'. –
Этот ответ был ключевым. – Michael