Workspace sync: auto commit 2026-04-23 13:22:56

This commit is contained in:
2026-04-23 13:22:56 +08:00
parent 980a3e89bf
commit fcfe9c7ae5
7 changed files with 881 additions and 4 deletions

View File

@@ -0,0 +1,45 @@
---
title: "GOG CLI 安装配置指南"
type: source
tags: [gog, gog-cli, macos, google-workspace]
date: 2026-03-15
---
## Source File
- [[Skills/GOG-CLI-安装配置指南.md]]
## Summary用中文描述
- 核心主题gog CLIGoogle Workspace 命令行工具)在 macOS 系统上的完整安装与配置流程
- 问题域:如何通过命令行管理 Google Workspace 全套服务Gmail、Google Calendar、Google Drive、Google Contacts、Google Docs、Google Sheets并与 AI Agent 工作流集成
- 方法/机制Homebrew 安装 → Google Cloud Console 创建 OAuth 凭证 → 移动凭证文件到 gogcli 配置目录 → 添加测试用户解除 Google 安全限制 → 启用各 Google API → 验证授权状态
- 结论/价值:实现通过命令行管理 Google Workspace 全套服务的能力,可集成到 AI Agent 工作流中(自动邮件处理、日历管理等)
## Key Claims用中文描述
- Homebrew 可通过 `brew install steipete/tap/gogcli` 一键安装 gog CLI输出路径为 `/opt/homebrew/bin/gog`
- OAuth 凭证需要放置在 `/Users/weishen/Library/Application Support/gogcli/credentials.json`,并通过 `gog auth credentials` 命令指定路径
- 首次授权时 Google 会阻止未验证应用,需要在 Google Cloud Console 的 OAuth 客户端中将测试用户邮箱加入白名单才能通过授权
- Google API 调用需要同时满足两个条件OAuth 授权成功 + API 已启用Enabling缺一不可
- 启用新的 API 服务后需要重新授权(`gog auth revoke` + `gog auth login`),因为旧 token 不包含新权限
## Key Quotes
> "此应用未经 Google 验证。此应用请求访问您 Google 账号中的敏感信息。在开发者让该应用通过 Google 验证之前,请勿使用该应用。" — Google 首次授权时的安全警告,解决方案是在测试用户中添加 Google 邮箱
> "即使 OAuth 成功,如果 API 未启用也会报错403 accessNotConfigured" — API 调用失败的常见原因
> "旧 token 不包含新权限" — 启用新 API 后必须重新授权的原因
## Key Concepts
- [[OAuth 2.0]]Google 账号身份认证协议gog CLI 使用 OAuth 完成用户授权
- [[Google Cloud Console]]Google API 管理平台,用于创建 OAuth 凭证和启用 API 服务
- [[Google Workspace]]Google 办公套件,包含 Gmail、Google Calendar、Google Drive、Google Contacts、Google Docs、Google Sheets
- [[Google API Enablement]]Google API 调用需要先在 Google Cloud Console 中启用对应服务,与 OAuth 认证是两层独立机制
## Key Entities
- [[gog CLI]]:由 steipete 开发的 Google Workspace 命令行管理工具,通过 Homebrew 分发
- [[Google Cloud Console]]Google 云平台控制台,用于管理 OAuth 凭证和 API 启用状态
## Connections
- [[personal-crm]] ← uses ← [[gog CLI]]gog CLI 提供 Gmail 和 Calendar 数据,是 personal-crm 的前置依赖)
- [[gog CLI]] ← requires ← [[OAuth 2.0]](认证机制)
- [[gog CLI]] ← requires ← [[Google API Enablement]](每项服务需单独启用)
## Contradictions
- 无已知冲突内容

View File

@@ -0,0 +1,49 @@
---
title: "Scrapy + Playwright 抓取TikTok Shop Data"
type: source
tags: [playwright, scrapy, tiktok-shop, python, docker, 爬虫]
date: 2026-04-24
---
## Source File
- [[跨境电商/Scrapy + Playwright 抓取TikTok Shop Data.md]]
## Summary用中文描述
- 核心主题:使用 Scrapy + Playwright 技术栈抓取 TikTok Shop 商家数据的环境配置与运行指南
- 问题域TikTok Shop 跨境电商数据采集的工程实现
- 方法/机制:通过 Python venv 虚拟环境隔离依赖,使用 scrapy-playwright 集成包驱动 Chromium 浏览器执行动态页面渲染,再通过 Docker 容器化部署
- 结论/价值:提供了完整的开发环境搭建流程和生产级 Docker 部署配置,是跨境电商数据采集项目的技术基座
## Key Claims用中文描述
- **虚拟环境隔离是首选方案**:通过 `python3 -m venv` 创建独立虚拟环境,安装 Scrapy + scrapy-playwright 依赖,相比 Docker 直接安装更适合开发调试
- **Playwright Chromium 是渲染引擎**:通过 `playwright install chromium` 安装无头浏览器,负责处理 TikTok Shop 的 JavaScript 动态加载内容
- **Docker 部署需配置 venv 环境变量**:在 Dockerfile 中添加 `RUN python3 -m venv /app/venv ENV PATH="/app/venv/bin:$PATH"`,使容器内 Python 命令使用虚拟环境
- **可用命令行参数指定目标店铺**:通过 `scrapy runspider tiktok_shop_spider.py -a shop_url="..."` 传递 TikTok Shop 店铺 URL 参数
## Key Quotes
> "最推荐:创建虚拟环境 (venv) 并安装 Scrapy + Playwright" — 文档作者推荐的最佳实践方案
> "source venv/bin/activate" — venv 激活命令
> "RUN python3 -m venv /app/venv ENV PATH=\"/app/venv/bin:$PATH\"" — Docker 中配置 Python venv 的标准写法
> "python -c \"from playwright.sync_api import sync_playwright; print('Playwright OK')\"" — Playwright 验证命令
## Key Concepts
- [[Scrapy]]Python 爬虫框架,负责请求调度、数据解析和管道存储
- [[Playwright]]Microsoft 开发的无头浏览器自动化工具,支持 Chromium/Firefox/WebKit 多引擎,用于渲染 JavaScript 动态页面
- [[scrapy-playwright]]:连接 Scrapy 与 Playwright 的集成包,使 Scrapy Spider 能够执行浏览器自动化操作
- [[venv]]Python 内置虚拟环境工具,用于隔离项目依赖,避免版本冲突
- [[Docker]]:容器化平台,用于生产环境部署
- [[Chromium]]Google 浏览器引擎Playwright 的默认渲染引擎
## Key Entities
- [[TikTok Shop]]:字节跳动旗下的电商平台,本文档的数据采集目标
- shenwei文档作者提供实际操作笔记
## Connections
- [[TikTok Shop Apache Superset Dashboard]] ← uses ← [[Scrapy-Playwright-TikTok-Shop-Data]]
- [[做tk跨境思路不对努力白费]] ← related_to ← [[Scrapy-Playwright-TikTok-Shop-Data]]
## Contradictions
- 无已知冲突内容