用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aAAaqwq/AGI-Super-Team --skill google-auth命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
币安广场合约投机雷达 v5:以最近24小时专业交易帖为主要证据,回源核验帖子, 联合币安公共合约行情、4周期K线、布林带、ATR、量能和RR,生成可审计的本地影子报告。 触发词:币安广场、扫描币安、binance square、合约机会、交易信号雷达、4小时雷达
BTC 5分钟K线实时方向预测。v5.9对抗式审查重构: 13因子收敛到3个有证据信号(half_body延续+volume放量+meanrev回归, 11个47-49%硬币因子清零) + 三层独立信息过滤(多周期4h/1h/15m趋势 + 跨资产ETH/SOL广度 + 真订单流OFI) + 移除bull×0.92惩罚/Platt置信度门控。半K线策略第2分钟执行。黑天鹅防护: ATR spike+FNG<25。Binance端点双向故障切换。
BB 双向套利策略:加密合约 10x 杠杆布林带均值回归。布林带收窄=横盘→在下轨买、上轨卖;三重过滤器(1h趋势/RSI/BB甜区)确认碗平放,轨对轨止盈(RR 2:1~4:1)。含实时WebSocket模拟盘(paper)、历史回测(simulate/backtest_daily)、币安永续实盘CLI(trade_exec)。触发:'bb套利'、'布林带'、'bollinger'、'横盘策略'、'NEAR'、'回测'、'模拟盘'、'paper trading'。
正在显示 SKILL.md
基于 SOC 职业分类
| name | google-auth |
| description | Google OAuth setup, refresh tokens |
Google OAuth setup, refresh tokens, troubleshooting
| What | Path |
|---|---|
| Credentials | $GOOGLE_TOOLS_PATH/credentials.json |
| Token | $GOOGLE_TOOLS_PATH/token.json |
SCOPES = [
'https://www.googleapis.com/auth/gmail.send',
'https://www.googleapis.com/auth/gmail.readonly',
'https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/documents',
'https://www.googleapis.com/auth/drive',
]
import json
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
with open('$GOOGLE_TOOLS_PATH/token.json', 'r') as f:
token_data = json.load(f)
creds = Credentials(
token=token_data.get('token'),
refresh_token=token_data.get('refresh_token'),
token_uri=token_data.get('token_uri'),
client_id=token_data.get('client_id'),
client_secret=token_data.get('client_secret')
)
# Gmail
gmail = build('gmail', 'v1', credentials=creds)
# Sheets
sheets = build('sheets', 'v4', credentials=creds)
# Drive
drive = build('drive', 'v3', credentials=creds)
from google.auth.transport.requests import Request
if creds.expired and creds.refresh_token:
creds.refresh(Request())
# Save the updated token
with open('$GOOGLE_TOOLS_PATH/token.json', 'w') as f:
json.dump({
'token': creds.token,
'refresh_token': creds.refresh_token,
'token_uri': creds.token_uri,
'client_id': creds.client_id,
'client_secret': creds.client_secret,
}, f)
from google_auth_oauthlib.flow import InstalledAppFlow
SCOPES = [...] # all required scopes
flow = InstalledAppFlow.from_client_secrets_file(
'$GOOGLE_TOOLS_PATH/credentials.json',
SCOPES
)
creds = flow.run_local_server(port=0)
# Save
with open('$GOOGLE_TOOLS_PATH/token.json', 'w') as f:
json.dump({
'token': creds.token,
'refresh_token': creds.refresh_token,
'token_uri': creds.token_uri,
'client_id': creds.client_id,
'client_secret': creds.client_secret,
}, f)
result = sheets.spreadsheets().values().get(
spreadsheetId='SPREADSHEET_ID',
range="'Sheet Name'!A1:Z100"
).execute()
rows = result.get('values', [])
sheets.spreadsheets().values().update(
spreadsheetId='SPREADSHEET_ID',
range="'Sheet Name'!A1",
valueInputOption='RAW',
body={'values': [['value1', 'value2']]}
).execute()
import base64
from email.mime.text import MIMEText
message = MIMEText('Body text', 'plain', 'utf-8')
message['to'] = 'recipient@email.com'
message['from'] = 'Your Name <your@email.com>'
message['subject'] = 'Subject'
raw = base64.urlsafe_b64encode(message.as_bytes()).decode()
gmail.users().messages().send(userId='me', body={'raw': raw}).execute()
| Problem | Solution |
|---|---|
| 401 Unauthorized | Refresh token or create a new one |
| invalid_grant | Token revoked, create a new one |
| Scope mismatch | Load token without scope verification |
| RefreshError | Create a new token via OAuth flow |
your@email.comemail-send-direct -- single email via Gmail APIemail-send-bulk -- bulk email via Gmail APItelegram-send -- reads Sheets for data