回答編集履歴

1

説明を追記しました。

2021/01/18 05:14

投稿

_whitecat_22
_whitecat_22

スコア1305

test CHANGED
@@ -1 +1,73 @@
1
1
  [https://teratail.com/questions/316454](https://teratail.com/questions/316454) をご参照ください。まったく同じ質問です。
2
+
3
+
4
+
5
+ ===
6
+
7
+
8
+
9
+ もし考えられるとすれば、①SpreadSheet_Keyが異なる、②秘密鍵が異なる、③ファイルの共有設定をしていない...くらいでしょうか。
10
+
11
+
12
+
13
+ なお、以下は私が組んだプログラムで使ったライブラリや設定部分の抜粋です。
14
+
15
+ ご参考になれば。
16
+
17
+
18
+
19
+
20
+
21
+ ```Python
22
+
23
+ # グーグルスプレッドシートを操作する為にimport
24
+
25
+ import gspread
26
+
27
+
28
+
29
+ # グーグルスプレッドシートの認証情報設定の為にimport
30
+
31
+ from oauth2client.service_account import ServiceAccountCredentials
32
+
33
+
34
+
35
+ # 2つのAPIを記述しないとリフレッシュトークンを3600秒毎に発行し続けなければならない
36
+
37
+ scope = ['https://spreadsheets.google.com/feeds','https://googleapis.com/auth/drive']
38
+
39
+
40
+
41
+ # 認証情報設定
42
+
43
+ # ダウンロードしたjsonファイル名をクレデンシャル変数に設定(秘密鍵、Pythonファイルから読み込みしやすい位置に置く)
44
+
45
+ credentials = ServiceAccountCredentials.from_json_keyfile_name("**************************************.json", scope)
46
+
47
+
48
+
49
+ # 共有設定したスプレッドシートキーを格納
50
+
51
+ SPREADSHEET_KEY = '********************************'
52
+
53
+
54
+
55
+ # 制限
56
+
57
+ # (1) ユーザーごとに100秒あたり100件のリクエスト
58
+
59
+ # (2) 1秒あたり10件まで
60
+
61
+
62
+
63
+ # OAuth2の資格情報を使用してGoogleAPIにログイン
64
+
65
+ gc = gspread.authorize(credentials)
66
+
67
+
68
+
69
+ # 共有設定したスプレッドシートのシート1を開く
70
+
71
+ workbook = gc.open_by_key(SPREADSHEET_KEY)
72
+
73
+ ```