1

モジュール gspread to (試行) を使用して、Google ドライブの特定のスプレッドシートを解析しています。しかし、最終的にはこのプロジェクトを Web アプリケーションにしたいので、当然、ログイン情報を教えたくありません。ただ、スプレッドシートを読めばいいだけなので、gspreadを使ってログインせずにファイルの中身を読める方法はないのでしょうか。私はもう試した:

gc = gspread.Client(None)
sheet = gc.open_by_key(KEY)

しかし、これはエラーで失敗します

(<class 'xml.etree.ElementTree.ParseError'>, ParseError(ExpatError('no element found: line 1, column 0',),), None)

どうすればこれを達成できますか?

4

2 に答える 2

0

正直なところ、エラーの原因がわかりません。スタック トレースをさらに貼り付け、コードの一部を追加すると役立つ場合があります。

とにかく、あなたは自分のログイン情報 (電子メール/パスワード) を使用したくないと述べました。

gspread.Client(auth, http_session=None)GSpreadは、authパラメーターが OAuth2 資格情報オブジェクトであるを使用してログインすることも提案します。資格情報オブジェクトは、oauth2client ライブラリによって作成されたものです。

このリンクは、コツをつかんで機能させるのに非常に役立つことがわかりました。

アカウントでログインする必要はありません。これは良いことですが、代わりに Google Developers Console から OAuth 2.0 クライアント資格情報を取得します。次に、クライアント アプリケーションは Google 承認サーバーにアクセス トークンを要求し、応答からトークンを抽出して、アクセスする Google API にトークンを送信します。

于 2015-07-11T22:15:17.427 に答える
0

スプレッドシートをウェブに公開しましたか? これで、やりたいことを実行できます。ここにコード サンプルを投稿しました Loading a general Google Spreadsheet in Pandas

于 2015-07-11T22:26:48.880 に答える