Spaces:
Sleeping
Sleeping
| # ======================== | |
| # Google Sheets Integration | |
| # ======================== | |
| import json | |
| import gspread | |
| import os | |
| import pandas as pd | |
| from oauth2client.service_account import ServiceAccountCredentials | |
| def connect_to_sheet(): | |
| creds_dict = json.loads(os.environ["GOOGLE_CREDS_JSON"]) | |
| scope = [ | |
| "https://spreadsheets.google.com/feeds", | |
| "https://www.googleapis.com/auth/spreadsheets", | |
| "https://www.googleapis.com/auth/drive" | |
| ] | |
| creds = ServiceAccountCredentials.from_json_keyfile_dict(creds_dict, scope) | |
| client = gspread.authorize(creds) | |
| sheet = client.open_by_key("109h0Yj8RmKEbWCj5TdJNXXbWhmaVH8o3r3q4_Pa50g8").sheet1 | |
| return sheet | |
| def append_score(timestamp, score, filename): | |
| sheet = connect_to_sheet() | |
| sheet.append_row([timestamp, score, filename]) | |
| def fetch_leaderboard(): | |
| sheet = connect_to_sheet() | |
| data = sheet.get_all_records() | |
| return pd.DataFrame(data) |