Задать вопрос

Чем заменить ServiceAccountCredentials?

Есть Python код:
from oauth2client.service_account import ServiceAccountCredentials

Scopes = [ "https://spreadsheets.google.com/feeds", 'https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive" ]
Creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", Scopes)
Client = gspread.authorize(Creds)
Sheet = Client.open("lol2280").sheet1
Data = Sheet.get_all_records()


Это нужно для взаимодействия с GoogleSheets. Но у меня есть проблема с библиотекой ServiceAccountCredentials при переводе Python в C и компиляции в .exe при помощи Nuitka. Выдает такую ошибку:
Traceback (most recent call last):
  File "C:\Users\A4F7~1\Desktop\myProg\myProg.py", line 15, in <module>
  File "C:\Users\A4F7~1\Desktop\myProg\oauth2client\service_account.py", line 26, in <module oauth2client.service_account>
  File "C:\Users\A4F7~1\Desktop\myProg\oauth2client\crypt.py", line 23, in <module oauth2client.crypt>
  File "C:\Users\A4F7~1\Desktop\myProg\oauth2client\_pure_python_crypt.py", line 24, in <module oauth2client._pure_python_crypt>
  File "C:\Users\╨Р╨╜╨┤╤А╨╡╨╣\Desktop\myProg\pyasn1_modules\rfc2459.py", line 23, in <module>
    from pyasn1.type import opentype
ImportError: cannot import name 'opentype' from 'pyasn1.type' (C:\Users\A4F7~1\Desktop\myProg\pyasn1\type\__init__.py)

Я гуглил и искал как это исправить, обновлял библиотеки pip install --upgrade pyasn1-modules, pip install --upgrade google-cloud-storage и прочие... В ручную переустанавливал, естественно эти переустановленные библиотеки кидал в папку со скомпилированным .exe. Ничего не помогает. Я думаю, проще что-то сделать с библиотекой ServiceAccountCredentials, может заменить её чем-то, либо вручную прописать данные для переменной Creds?
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@DuxaKievski Автор вопроса
Это кто же такой умный, что проголосовал за "Простой вопрос", но при этом сам на него ответить не может?

Ладно, я уже сам нашёл решение проблемы, я заменил ServiceAccountCredentials на Google API v4

Кому нужно, вот видео:
https://youtu.be/4ssigWmExak
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы