用途:对 FamilySearch 家谱树与历史记录进行只读访问,两个工具配合使用。getmyancestors 用于下载完整 GEDCOM 家谱(祖先、后代、配偶),复用普通 FamilySearch 登录;familysearch.py 用于 JSON API 查询,包括人物查询、搜索、来源、回忆与关系路径。无需开发者账号,getmyancestors 内置预注册客户端 ID,用普通用户名密码登录,familysearch.py 采用相同方式。
安装:pipx install getmyancestors;pip install httpx。
认证与校验:python3 scripts/familysearch.py auth(交互输入用户名密码,或 -u USERNAME -p PASSWORD),令牌保存到 ~/.familysearch/token.json;python3 scripts/familysearch.py verify。
GEDCOM 导出:getmyancestors -u USERNAME -p PASSWORD 默认 4 代祖先输出到 stdout;可用 -a 世代数、-o 文件、-l 日志、-v 详细、-i 指定起始人物、-d 后代世代、-m 含配偶与婚姻数据。合并用 mergemyancestors -i old-tree.ged new-additions.ged -o merged.ged;限速用 --rate-limit 5。
familysearch.py 能力:get-person(--pid、--relationships)、get-current-user;ancestry(默认 4 代,最多 8 代)与 descendancy;search 支持 --name、--birth-year、--birth-place、--death-year、--death-place、--limit;match 获取记录匹配提示;sources 列出人物来源;search-records 搜索历史记录;memories 与 download-memory --url --output;parents、spouses、children 及 relationship-path --from --to;export-person --pid --output --ancestors 输出符合项目 parse-gedcom.mjs 结构的 JSON。所有命令输出 JSON 到 stdout,可管道给 jq 过滤。
限制:仅只读,不写入家谱树;FamilySearch 有 API 速率限制,两工具内置自动重试与退避;令牌 2 小时过期,familysearch.py 用存储的刷新令牌自动续期。其他细节暂未提供。