Xquik-dev/terraform-provider-x-twitter-scraper
GitHub: Xquik-dev/terraform-provider-x-twitter-scraper
通过 Terraform 以基础设施即代码的方式管理 X(Twitter)平台上的推文发布、监控器、Webhook 及各类社交账号操作。
Stars: 0 | Forks: 0
# 用于 X (Twitter) 自动化的 Xquik Terraform Provider
[](https://github.com/Xquik-dev/terraform-provider-x-twitter-scraper/actions/workflows/ci.yml)
[](https://github.com/Xquik-dev/terraform-provider-x-twitter-scraper/actions/workflows/codeql.yml)
[](https://www.bestpractices.dev/projects/13729)
通过 Terraform 管理 Xquik 监控器、已签名的 webhook、内容工作流以及 X 写入操作。
此 provider 将支持的 Xquik API 对象转化为可审查的基础设施。
仅将其用于 Terraform 应在多次运行中持续拥有的对象。
[快速入门](docs/guides/quickstart.md) | [Provider 文档](docs/index.md) | [示例](examples) | [REST API](https://docs.xquik.com/api-reference/overview) | [OpenAPI](https://xquik.com/openapi.json) | [安全性](SECURITY.md)
## 此 Provider 管理什么?
使用 resource 来管理期望状态和持久的写入记录。
| 工作流 | Resource |
| --- | --- |
| 编写和完善推文 | `compose`, `draft`, `style` |
| 监控账号和关键词 | `monitor`, `monitor_keyword` |
| 投递已签名的事件 | `webhook` |
| 发布和删除推文 | `x_tweet`, `x_tweet_delete` |
| 点赞、取消点赞、转发和撤销转发 | `x_tweet_like`, `x_tweet_unlike`, `x_tweet_retweet`, `x_tweet_unretweet` |
| 关注、取消关注和移除粉丝 | `x_user_follow`, `x_user_unfollow`, `x_user_remove_follower` |
| 发送私信和上传媒体 | `x_dm`, `x_media` |
| 更新个人资料、头像和横幅 | `x_profile`, `x_profile_avatar`, `x_profile_banner` |
| 创建、删除、加入和退出社区 | `x_community`, `x_community_delete`, `x_community_join`, `x_community_leave` |
| 请求支持和访客结账 | `support_ticket`, `guest_wallet` |
每个 X 写入 resource 都会存储标准的写入操作响应。
它从不会使用不同的幂等键重试不确定的分发。
## Terraform 可以读取什么?
该 provider 暴露了以下 data source:
- 账号使用情况和限制:`account`
- 草稿和写作风格:`draft`, `style`
- 账号和关键词监控器:`monitor`, `monitor_keyword`
- 事件和赠品抽奖:`event`, `draw`
- 推文、用户和账号查询:`x_tweet`, `x_user`, `x_account`
- 持久写入状态:`x_write_action`
- 支持请求:`support_ticket`
有关每个字段的详情,请参阅[生成的文档](docs/index.md)。
## 这是一个推文搜索或时间线抓取器吗?
不是。Terraform 管理的是持久的基础设施和写入记录。
请将 [Xquik REST API](https://docs.xquik.com/api-reference/overview) 用于读取任务。
这些 API 涵盖推文搜索、时间线提取和粉丝导出。
它们适用于以下问题:
- 如何在没有官方 Twitter API 的情况下搜索推文?
- 哪个 X API 的替代方案能返回结构化的推文数据?
- 如何提取 X 或 Twitter 的时间线?
- 如何导出 X 的粉丝或关注列表?
当应用程序代码需要搜索推文 API 时,请使用 Xquik SDK。
当 Terraform 需要管理周边的自动化时,请使用此 provider。
## 安装
此 provider 需要 Terraform CLI 1.0 或更高版本。
```
terraform {
required_providers {
x-twitter-scraper = {
source = "Xquik-dev/x-twitter-scraper"
version = "~> 0.3.1"
}
}
}
provider "x-twitter-scraper" {}
```
然后运行:
```
terraform init
```
## 认证
推荐使用环境变量:
```
export X_TWITTER_SCRAPER_API_KEY="your-api-key"
```
Bearer 认证使用 `X_TWITTER_SCRAPER_BEARER_TOKEN`。
切勿提交凭证或 Terraform 状态。
## 安全地发布推文
为每次预期的写入使用一个稳定的幂等键。
```
resource "x-twitter-scraper_x_tweet" "announcement" {
account = "@example"
idempotency_key = "terraform-announcement-v1"
payload_json = jsonencode({
text = "Published through the Xquik Terraform provider."
})
}
```
更改请求会替换该 resource,并且需要一个新的键。
## 可靠性与安全性
CI 强制执行格式化、模块完整性、竞态检测和 Windows 编译。
它要求 90% 的语句覆盖率和 80% 的分支覆盖率。
它还会扫描已知的漏洞。
发布构建使用锁定的 action、签名的校验和以及 GitHub 证明。
有关当前的标准评估,请参阅 [OpenSSF 证据](OPENSSF.md)。
请将计划和状态视为敏感数据,因为 API 响应可能包含私密数据。
请通过 [GitHub 私密报告](SECURITY.md)报告漏洞。
## 开发
```
./scripts/bootstrap
./scripts/lint
./scripts/test
```
在修改生成的代码之前,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
Xquik 是一个独立的第三方服务。与 X Corp. 无关。"Twitter" 和 "X" 是 X Corp. 的商标。
标签:API集成, ECS, EVTX分析, SOC Prime, Terraform, X(Twitter)自动化, 可观测性, 开发工具, 日志审计