快速开始¶
本页使用已有 IGT:2 token 完成第一次真实 API 调用。你会启动服务、连接一个账号并读取当前用户。
1. 启动 Go gRPC 服务¶
默认监听 127.0.0.1:50051。生产环境应通过 THREADS_IDENTITY_FILE 指向受保护的身份文件,不要把
token、cookie、密码或设备密钥写入仓库或日志。只使用已有 IGT:2 时可以不配置 keybox;需要调用
AuthService.Login 时,必须让 Go server 通过 THREADS_KEYBOX_FILE 加载服务端 signer。
2. 安装 Python 客户端¶
3. 读取当前账号¶
先通过环境变量提供 token 和该账号独享的代理:
export THREADS_IG_TOKEN='IGT:2:<REDACTED>'
export THREADS_ACCOUNT_PROXY='socks5://account:[email protected]:1080'
运行以下 Python:
import asyncio
import os
from threads_client import ThreadsClient
async def main() -> None:
async with ThreadsClient(
target=os.getenv("THREADS_GRPC_TARGET", "127.0.0.1:50051"),
token=os.environ["THREADS_IG_TOKEN"],
proxy_url=os.environ["THREADS_ACCOUNT_PROXY"],
) as client:
current = await client.auth.get_current_user(edit=False)
print(current.pk, current.username)
asyncio.run(main())
输出的 pk 必须属于 token 对应账号。后续发帖中的 uid 使用这个 pk,不要从用户名猜测。
proxy_url 会作为敏感 metadata x-threads-proxy-url 发送,支持 HTTP(S)/SOCKS5。每个账号必须绑定
自己的代理出口,代理认证信息不得进入日志。
如果没有可用 token,请阅读账密登录工作流。登录默认要求
Go server 注入硬件 attestation signer。生产镜像从仓库根目录的版本化 keybox.xml 构建,并在容器内
固定放置为 /run/secrets/threads-keybox.xml;替换后必须提交并重新发布镜像。不要把
allow_unattested_login=True 当作生产配置。
下一步¶
交给 AI 对接¶
把当前站点的 llms.txt 地址交给 AI。Python 代码生成应继续读取 python/llms-full.txt,其中包含任务工作流、动态参数来源和步骤间字段映射。