核心用法
instagram-api 是一套基于官方 Meta Graph API 的自动化发帖解决方案,支持 Instagram 全格式内容(Feed 图文、Story 快拍、Reels 短视频、Carousel 轮播)及 Threads 文本/图文发布。
技术架构
- API 层: Meta Graph API (v21.0+) — 官方认证接口
- 媒体托管: Imgur Anonymous API — 生成临时公开 URL 满足 Instagram 上传要求
- 执行层: Bash 脚本封装,零代码即可调用
配置流程
1. Meta 开发者平台: 创建 Business 类型应用,申请 instagram_basic、instagram_content_publish、pages_read_engagement 权限
2. 令牌管理: 通过 Graph API Explorer 获取短期 Token,交换为 60 天长期令牌
3. Imgur 匿名注册: 无需用户授权,仅获取 Client ID 用于图片托管
4. 环境变量: 配置 INSTAGRAM_ACCESS_TOKEN、INSTAGRAM_BUSINESS_ACCOUNT_ID、IMGUR_CLIENT_ID
功能覆盖
| 功能 | 命令示例 | 备注 |
|------|---------|------|
| Feed 发帖 | `post-feed.sh <图片> <文案>` | 单图文 |
| Story 快拍 | `post-story.sh <图片>` | 24小时自动消失 |
| Reels 短视频 | `post-reels.sh <视频> <文案>` | 处理耗时数分钟 |
| Carousel 轮播 | `post-carousel.sh <文案> <图1> <图2>...` | 最多10张 |
| Threads 发文 | `post-threads.sh <文案> [图片URL]` | Meta 新平台 |
显著优点
- 官方合规: 使用 Meta Graph API,非爬虫方案,账号封禁风险极低
- 全格式覆盖: 唯一同时支持 Instagram 四大内容形态的开源方案
- 零服务器依赖: 纯脚本实现,无需部署后端服务
- 成本可控: Imgur 匿名 API 免费,仅需承担 API 调用成本
潜在局限与风险
- 媒体中转依赖: 强制依赖 Imgur 生成公开 URL,若 Imgur 服务异常或限流将阻断发布
- 权限门槛: 需通过 Meta 开发者审核,个人开发者可能面临权限申请周期
- 令牌有效期: 长期 Token 仍须每 60 天续期,生产环境需自动化刷新机制
- 异步处理: Reels 视频需等待 Meta 服务端转码,无法即时确认发布状态
- 日志敏感: 错误日志可能包含访问令牌,需确保
~/logs/sns/目录权限隔离
适合人群
- 社交媒体运营团队: 需批量定时发布 Instagram 内容
- 开发者/技术型创作者: 希望将 Instagram 纳入 CI/CD 或自动化工作流
- 跨平台内容同步: 需同时分发至 Threads 的原生双平台支持
- 合规敏感场景: 拒绝非官方爬虫方案的企业级应用
常规风险
- Imgur 匿名上传的媒体无隐私控制,敏感内容慎用
- Meta API 速率限制未明确暴露,高频调用需自行实现退避策略
- 脚本直接暴露 Token 于环境变量,多用户环境需配合密钥管理服务