我无法让 Google API 找到我的服务帐户的凭据。我将具有正确名称的必要 JSON 文件下载到了正确的位置,并且我直接使用了 API 文档中的 Python 代码:
import gspread
gc = gspread.service_account()
sh = gc.open("Example spreadsheet (I'll replace this with my actual sheet name later)")
print(sh.sheet1.get('A1'))
代码在带有 gc = gspread.service_account()
的 FileNotFoundError
处停止。我通过一条错误消息发现这是因为它正在查看完全错误的文件路径(我认为当我实际上在 Windows PC 上时,它认为我在 Mac 上??)。覆盖文件名,即
gc = gspread.service_account(filename="insert\actual\path\here.json")
,
也不起作用,这是令人费解的部分。我直接从文件浏览器中复制了该路径,将反斜杠加倍,因此 Unicode 不会尝试将其全部转义(发生一次),尝试对我能想到的文件路径进行所有修改(%APPDATA%\gspread\service_account.json
而不是整个事情等)- 可能出了什么问题?
编辑:@mods,随时关闭问题!我发现了问题,即我使用的是 Repl.it 在线编码环境而不是本地环境。我将所有内容都移植到了 IDLE 并且运行良好。我强烈怀疑 Repl.it 根本无法访问我的本地文件(我也在 Repl.it 上尝试了它,并在不同的地方随机截图,它抛出了同样的错误)。