Я пытаюсь авторизовать Google Sheets в некотором коде Python, развернутом в Heroku.Моя учетная запись службы Google хранится в Heroku как переменная среды.
credentials = environ['GOOGLE_APPLICATION_CREDENTIALS']
gc = pygsheets.authorize(service_file=credentials)
Однако при запуске сценария в Heroku появляется ошибка.
FileNotFoundError: [Errno 2] No such file or directory:
Затем следуетвесь дамп JSON моей переменной GOOGLE_APPLICATION_CREDENTIALS.
'{\n "type": "service_account", [...] gserviceaccount.com"\n}'
Это прекрасно работает локально на моем компьютере, когда у меня есть файл JSON в папке проекта.
Вот полная трассировка, приводящая к ошибке FileNotFoundError:
Трассировка (последний вызов был последним): файл "code.py", строка 27, в gc = pygsheets.authorize (service_file = учетные данные) Файл "/app/.heroku/python/lib/python3.7/site-packages/pygsheets/authorization.py", строка 111, в поле authorize credentials = service_account.Credentials.from_service_account_file (service_account_file, scopes = scopes = scopes = scopes)Файл "/app/.heroku/python/lib/python3.7/site-packages/google/oauth2/service_account.py", строка 209, в файле from_service_account_file, require = ['client_email', 'token_uri']) File "/app/.heroku/python/lib/python3.7/site-packages/google/auth/_service_account_info.py ", строка 71, в from_filename с io.open (имя файла, 'r', кодировка = 'utf-8') как json_file: