Ошибка 403 электронных таблиц Google распространяется при открытии в консоли - PullRequest
0 голосов
/ 13 июля 2020

Пытаюсь повторить гайд (https://www.youtube.com/watch?v=vISRn5qFrkM) - сгенерировано client_secrets. json, поместите в папку DAGs (потому что тогда я буду запускать скрипт из воздушного потока) Но несмотря на секрет клиента - все равно выдает ошибку 403 - недостаточно прав , как это исправить?

 import gspread
    from oauth2client.service_account import ServiceAccountCredentials
    import pprint
    
    scope = ['https://spreadsheets.google.com/feeds']
    creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json',scope)
    client = gspread.authorize(creds)
    
    sheet = client.open('Data base').sheet4
    
    result = sheet.get_all_records()
    print(result)

1 Ответ

0 голосов
/ 13 июля 2020

самостоятельно решено - очевидно, когда вы используете имя файла, оно обращается к API диска, чтобы найти этот файл, поэтому вы также должны войти в систему на диске. для этого нужно добавить его в область

import gspread
from oauth2client.service_account import ServiceAccountCredentials
import pprint

scope = ["https://spreadsheets.google.com/feeds","https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json',scope)
client = gspread.authorize(creds)


sheet = client.open('Data base').worksheet("Sum Data")


result = sheet.get_all_records()
print(result)
...