找不到电子表格错误-尝试访问Google表格

时间:2020-03-10 13:15:26

标签: python python-3.x google-sheets google-sheets-api

我正在测试此代码。

import gspread
from oauth2client.service_account import ServiceAccountCredentials

# use creds to create a client to interact with the Google Drive API

scope = ['https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive.readonly']

creds = ServiceAccountCredentials.from_json_keyfile_name('C:\\my_path\\client_secret.json', scope)
client = gspread.authorize(creds)

# Find a workbook by name and open the first sheet
# Make sure you use the right name here.
sheet = client.open("Test_Sheet").sheet1

# Extract and print all of the values
list_of_hashes = sheet.get_all_records()
print(list_of_hashes)

我收到此错误:

SpreadsheetNotFound

我按照下面的链接中的说明进行操作。

https://medium.com/datadriveninvestor/use-google-sheets-as-your-database-using-python-77d40009860f

也许我错过了链接中的步骤,但我不这么认为。自从该文章于1年前发布以来,GCP可能发生了一些变化。这是可能的,因为云是一个非常动态的地方。解决此类问题的最佳方法是什么?我真的很想让这个东西正常工作,主要是作为学习练习,但是我也很快就会发现这在我的工作中非常有用。谢谢。

1 个答案:

答案 0 :(得分:1)

好吧,我终于明白了。在这里面对植物...

在名为“ statup_funding.json”的文件中,您必须获取所生成的电子邮件,然后单击电子表格上的“共享”按钮,然后将“电子邮件地址”粘贴到打开的窗口中。然后,一切正常。这是我现在正在使用的代码的最终版本。

import gspread
#Service client credential from oauth2client
from oauth2client.service_account import ServiceAccountCredentials
# Print nicely
import pprint
#Create scope
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
#create some credential using that scope and content of startup_funding.json
creds = ServiceAccountCredentials.from_json_keyfile_name('startup_funding.json',scope)
#create gspread authorize using that credential
client = gspread.authorize(creds)
#Now will can access our google sheets we call client.open on StartupName
sheet = client.open('Test_Sheet').sheet1
pp = pprint.PrettyPrinter()
results = sheet.get_all_records()
results