2016-04-18 44 views
3

gspread docs、gspreadブログ投稿を投稿してから2日後に最も多くのメッセージを受け取りますrecent docs for using gspread Googleスプレッドシートを1つでも開くことができません。私はGDrive APIサービスアカウントを設定しました。私のOAuth2の資格が動作しているようですが、私はまだ一定の 'SpreadsheetNotFound'エラーが発生しています。python gspreadを使用して永続的な 'SpreadsheetNotFound'エラーをデバッグする方法

私のコードは次のようになり、それがGoogleスプレッドシートを開こうとしないかぎり、エラーメッセージが表示されて実行されます。

import gspread 
from oauth2client.service_account import ServiceAccountCredentials 

scope = ['https://spreadsheets.google.com/feeds'] 

jsonfile = '/path/Python-data-GSpreadsheets-dbbc-99.json' 
credentials = ServiceAccountCredentials.from_json_keyfile_name(jsonfile,scope) 

# get authorized to access data 
gc = gspread.authorize(credentials) 
# gc returns with no error messages, so far OK 
wks = gc.open('SSTEst123').sheet1 #fails here 
#throws SpreadsheetNotFound error 

はい、私は編集として認可自分のGmailのメールアドレスは、(それを試してみました追加しましたサービスアカウントは自分のすべてのデータにアクセスできるはずですから、自分でスプレッドシートを再共有しています。

それ以外の原因は何ですか? なぜスプレッドシートを開くことができないのかをデバッグする方法はありますか?

OK、ここで私はそれを解決しました。 GoogleドライブAPIサービスアカウントの[メールアドレス](たとえば、[email protected])でスプレッドシートを共有していた - /メールが... は、私がフィードに何を得ていたかどうかを確認するためにgspread client.pyソースにいくつかの印刷()の行を追加しました、とするためには、フィードをデバッグするための

)ありませんでしたフィードから値を確認してください。以前のスクリプトの値が古い値だったことに気づいた

私のiPythonノートブックをシャットダウンして再起動しました。

答えて

0

問題は解決しました。

client.pyソースにいくつかのprint()行を追加して、フィードに何かが入っているかどうかを確認し、フィードから値を確認しました。以前のスクリプトの値が古い値だったことに気づいた

私のiPythonノートブックをシャットダウンして再起動しました。

+0

あなたはあなたがこの仕事をしているとどのように思っているのか、あなたは印刷ステートメントから学べたことを少し詳しく説明できますか?私はあなたが上記の全く同じ問題を抱えています。 私のGDriveアプリケーションが「私の」Googleドキュメントにアクセスできることは明らかではありません。 – Robert

+0

心配しないで!それは働いた!あなたが言及した同じドキュメントを使用します:http://gspread.readthedocs.org/en/latest/oauth2.html#using-signed-credentials – Robert

+0

また、私のスプレッドシートをGoogle Drive APIサービスアカウントの「電子メールアドレス」と共有しなければなりませんでした。 [email protected]) – BigDoug

関連する問題