2016-08-24 8 views
1

私はスプレッドシートを取得するためにPython2.7でGspreadを使用しようとしています。私はログインできるようですが、コマンドを発行するたびにGspread - スプレッドシートを取得できません

gc.openall() 

ただ空リストを返します。私はすべてのサービスアカウントの管理者アクセス権を与えており、シートAPIはGoogleコンソールで有効になっています。誰かが私が間違っていることを指摘できますか?以下は

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": "[email protected]", 
    "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) 
    [] 
+1

Googleドライブのルートにあるシートですか?それはgspreadが動作するためのものです。最新のv4 google apiを直接使用するコードを使用してgspreadを書き直しました。私は強くそれをお勧めします。それはかなり急な学習曲線を持っていますが、十分な価値があります! – Sebastien

+0

私はスプレッドシート自体をアドレスと共有することができないと思う:[email protected] open_by_keyを特定のスプレッドシートで試してみると、エラーメッセージが表示される – Sebastien

答えて

1

私はここで遊んで可能性があり、主に2の問題を考えることができます。最初のgspreadは、GoogleドライブのルートにあるGoogleシートにのみアクセスできます。それを回避するには、gspreadの代わりにv4 google api python clientに移動することを強くお勧めします。

あなたがルートにGoogleのシートを持っていない場合は、私の推測では、あなたがアドレスを使用してスプレッドシート自体を共有して不足しているということです。私は示唆している、ことを確認するために[email protected]

openallをopen_by_keyに置き換え、デバッグに役立つ単一の特定のGoogleシートIDを指定します。

+0

問題は、私が[email protected]でシートを共有しなければならないということでした。ありがとう! – user2694306

+0

私の喜び:)私はずっと前に私は間違いなく痛みに関連する死にそのライブラリと戦った:) – Sebastien

関連する問題