У меня есть простой скрипт с созданием googlesheet на Python 3.6, например:
import gspread
from oauth2client.service_account import ServiceAccountCredentials
mail = 'my_mail@gmail.com'
secret_file = "C:\\Users\\admin\\Downloads\\my_file.json"
SCOPES = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name(secret_file, SCOPES)
gss_client = gspread.authorize(credentials)
gss = gss_client.open('test-doc')
worksheet = gss.sheet1
Но когда я запускаю его, у меня появляется ошибка типа:
Traceback (последний вызов был последним): File
«C: /Users/admin/PycharmProjects/untitled/fjhdshfjs.py», строка 11, в
...
"C: \ Users \ Admin \ AppData \ Local \ Programs \ Python \ Python36 \ Lib \ base64.py",
строка 58, в b64encode
encoded = binascii.b2a_base64 (s, newline = False) TypeError: требуется байтоподобный объект, а не 'str'
Раньше эту проблему можно было решить с помощью кодировки:
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'].encode(), scope)
Но теперь он не работает после перемещения SignedJwtAssertionCredentials на oauth2client.service_account.ServiceAccountCredentials
Может, кто-нибудь может мне помочь?