Python Gspread-无法检索电子表格

Python Gspread-无法检索电子表格,python,google-sheets,google-sheets-api,gspread,Python,Google Sheets,Google Sheets Api,Gspread,我正在尝试使用Python2.7中的Gspread来检索电子表格。我似乎可以登录,但每当我发出命令时 gc.openall() 它只返回一个空列表。我已经给了服务帐户管理员访问一切的权限,并且在我的google控制台中启用了sheets api。有人能指出我做错了什么吗 下面是我的name hash.json文件,由Google返回并用于登录: { "type": "service_account", "project_id": "name-id", "private_key_id

我正在尝试使用Python2.7中的Gspread来检索电子表格。我似乎可以登录,但每当我发出命令时

gc.openall()
它只返回一个空列表。我已经给了服务帐户管理员访问一切的权限,并且在我的google控制台中启用了sheets api。有人能指出我做错了什么吗

下面是我的
name hash.json文件,由Google返回并用于登录:

{
  "type": "service_account",
  "project_id": "name-id",
  "private_key_id": "PRIVATE KEY ID",
  "private_key": "-----BEGIN PRIVATE KEY-----
  ...
  \n-----END PRIVATE KEY-----\n",
  "client_email": "test@mname-id.iam.gserviceaccount.com",
  "client_id": "CLIENTID",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test-279%40name-id.iam.gserviceaccount.com"
}
我的代码如下:

import gspread
from oauth2client.service_account import ServiceAccountCredentials

def login(json_key):
     scope = ['https://spreadsheets.google.com/feeds']
     credentials = ServiceAccountCredentials.from_json_keyfile_name(json_key, scope)
     gc = gspread.authorize(credentials)
     return gc

gc = login('/Users/username/Downloads/name-hash.json')
files = gc.openall()
print(files)
    []

我能想到这里可能存在的主要两个问题。第一个gspread只能访问位于google驱动器根目录下的google工作表。为了避免这种情况,我强烈建议使用v4 google api python客户端而不是gspread

如果您的根目录中有google sheets,我猜您缺少与地址共享电子表格:test@mname-id.iam.gserviceaccount.com


为了验证这一点,我建议将openall替换为open_by_键,并提供一个特定的google工作表id以帮助调试。

工作表是否位于google驱动器的根目录下?必须是gspread才能工作。我们重新编写了gspread,使用代码直接使用最新的v4 google api。我强烈推荐。它有一个相当陡峭的学习曲线,但很值得!我猜你错过了与地址共享电子表格的机会:test@mname-id.iam.gserviceaccount.com如果您尝试使用open_by_key打开一个特定的电子表格,您将收到一条错误消息如果您是对的,问题是我必须与test@mname-id.iam.gserviceaccount.com。谢谢我的荣幸:)不久前,我与图书馆搏斗至死,我肯定与痛苦有关:)