<Google Cloud Platform, Python, gspread> Google Spread Sheet へアクセスする。
グーグル スプレッド シートGoogle Spread Sheet
にアクセスする。
最初に下記へ行って、
1... Google Drive APIの発行、有効化、
2... サービス アカウント キーの作成、及びjson
形式でキーのダウンロードをする。
ちと順を追って、、、
その1、 プロジェクトを作成する、を選ぶ。
その2、 プロジェクト名を入れて、作成を押す。
その4、 APIを有効にする、を押す。
その5、 Google Apps APIの下にある、Drive API、を押す。
その6、 有効にする、を押す。
その7、 認証情報、を選ぶ。
その8、 サービスアカウントキー、を選ぶ。
その9、 JSONを選んで、作成、を押す。
その10、 キーがダウンロードされる。
で、ちらっと、キーを見てみる。
In [27]: with open('Hage-xxxxx.json', 'r') as f: ...: jd = json.load(f) ...: print(json.dumps(jd, indent=4)) ...: { "project_id": "xxxxx-xxxxxx", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_email": "xxxxx-xxxxxx@appspot.gserviceaccount.com", "private_key_id": "xxxxx", "private_key": "-----BEGIN PRIVATE KEY-----xxxxx-----END PRIVATE KEY-----\n", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_id": "xxxxxx", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxx-xxxxx%40appspot.gserviceaccount.com", "type": "service_account" }
なるへそ。
そのあと、Google Spread Sheet
作って、共有する
に上記キーのclient_email
を入力する。
で、実際にアクセス開始。
In [1]: import json In [2]: import gspread In [8]: from oauth2client.service_account import ServiceAccountCredentials In [9]: scope = ['https://spreadsheets.google.com/feeds'] In [10]: doc_id = 'hogehogehagehagegoogleid' In [11]: import os In [15]: path = os.path.expanduser('./hagehage-xxxxxxxxxx.json') In [16]: credentials = ServiceAccountCredentials.from_json_keyfile_name(path, scope) In [17]: client = gspread.authorize(credentials) In [18]: gfile = client.open_by_key(doc_id) In [19]: worksheet = gfile.sheet1 In [20]: records = worksheet.get_all_values() In [21]: for record in records: ...: print(record) ...: ['a', 'b', 'c']
おおー! できたー! すげー!
参考にさせてもらったところ。