私はpythonに非常に慣れていないので、私の無知を許してください。
Google スプレッドシートにデータを送信しようとしていますが、gspread を使用することにしました。
ただし、gspread では、OAuth-2.0 を使用してスプレッドシートへのアクセスを承認する必要があります。そのために、ドキュメントページのチュートリアルを使用しました。ただし、コードを実行すると:
import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
json_key = json.load(open('test IGS-1859066a1c38.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['760 ... 6r9@developer.gserviceaccount.com'], json_key['-----BEGIN PRIVATE KEY-----\nMI ... 003d\n-----END PRIVATE KEY-----\n'], scope)
gc = gspread.authorize(credentials)
wks = gc.open("ITGS_TEST").sheet1
次のエラーが表示されます。
KeyError: '760 ... 6r9@developer.gserviceaccount.com'
これを修正する方法がわかりません。何が欠けているのかわかりません。誰かが意見を提供してくれれば幸いです。
前もって感謝します
編集: Sandeep107 のアドバイスに従い、コードを次のように変更しました。
SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
古いエラー コードは表示されなくなりましたが、代わりに次のエラーが表示されます。
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
File "F:\Python33\lib\site-packages\oauth2client-1.4.7-py3.3.egg\oauth2client\util.py", line 137, in positional_wrapper
return wrapped(*args, **kwargs)
File "F:\Python33\lib\site-packages\oauth2client-1.4.7-py3.3.egg\oauth2client\client.py", line 1487, in __init__
self.private_key = base64.b64encode(private_key)
File "F:\Python33\lib\base64.py", line 58, in b64encode
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
TypeError: expected bytes, not str
繰り返しますが、どんな助けでも大歓迎です。