本快速入门指南将帮助你使用一组指定的字段,通过其中一个时间线端点发出第一个请求,使用 Postman。
如果你想查看不同语言的示例代码,请访问我们的 X API v2 示例代码 GitHub 仓库。
先决条件要完成本指南,你需要一组用于对请求进行认证的密钥和令牌。你可以按照以下步骤生成这些密钥和令牌:
构建倒序排列主页时间线请求的步骤
在本示例中,我们将调用按 ID 获取用户 Post 时间线的端点,但你也可以将本快速入门中的方法应用于用户提及时间线请求。
第一步:选择工具或库
有多种工具、代码示例和库可用于向该端点发出请求,但我们将在此使用 Postman 来简化流程。
要将 X API v2 的 Postman 集合加载到你的环境,请点击以下按钮:
将 X API v2 集合加载到 Postman 后,导航到“Timelines”文件夹并找到“Reverse chronological home timeline”请求。
第二步:认证你的请求
要正确地向 X API 发出请求,你需要验证你具备相应权限。对于该端点,你必须使用 OAuth 2.0 Authorization Code with PKCE 或 OAuth 1.0a User Context 方法对请求进行认证。
你需要将密钥和令牌添加到 Postman。你可以在 Postman 右上角选择名为“X API v2”的环境,并将密钥和令牌添加到“initial value”和“current value”字段中(点击环境下拉菜单旁的眼睛图标)。
如果设置正确,这些变量会自动注入到请求的 authorization 选项卡中。
第三步:确定并指定要为哪个用户检索其主页时间线
你必须在请求中指定要为其检索最新 Posts 的用户。在此示例中,我们将传入一个用户 ID。
用户 ID 是表示账号用户名的数值,你可以在账号的个人资料 URL 中找到。例如,以下账号的用户名是 XDevelopers。
https://x.com/XDevelopers
要将该用户名转换为用户 ID,你需要使用带用户名的 users lookup endpoint,并在 payload 中找到该数值用户 ID。对于 @XDevelopers,用户 ID 为 2244994945。
在 Postman 中,导航到“Params”选项卡,并将此用户 ID 填入 id 参数的“Value”列。
第四步:确定并指定要检索的字段
如果你在第三步后点击“Send”按钮,你将会在响应中收到默认的 Post object 字段:id、text 和 edit_history_tweet_ids。
如果你想获取更多字段,需要在请求中通过 field 和/或 expansion 参数进行指定。
在本练习中,我们将从不同对象请求三组额外字段:
-
在主用户对象中包含额外的 tweet.created_at 字段。
-
对于返回的 Post,其关联作者的用户对象将包含默认字段:id、name 和 username
-
在关联的用户对象中包含额外的 user.created_at 字段。
在 Postman 中,前往“Params”选项卡,在“Query Params”表中添加以下键值对:
| | |
|---|
| Key | Value | Returned fields |
tweet.fields | created_at | tweets.created_at |
expansions | author_id | includes.users.id、includes.users.name、includes.users.username |
user.fields | created_at | includes.users.created_at |
| max_results | 5 | |
现在你应该会在“Send”按钮旁看到以下 URL:
https://api.x.com/2/users/:id/timelines/reverse_chronological?tweet.fields=created_at&expansions=author_id&user.fields=created_at&max_results=5
请注意:在 Postman 中,URL 字段中的路径参数 :id 不会自动更新为你在 id 参数字段中输入的值,这就是为什么上面的 URL 仍显示 :id,而不是 2244994945。
步骤五:发起请求并查看响应
当你完成所有设置后,点击“Send”按钮,你将会收到以下响应:
"data": [
{
"created_at": "2022-05-12T17:00:00.000Z",
"text": "今天,我们正式推出 Devs in the Details——一个由使用 X API 构建产品的开发者为开发者制作的技术视频系列。🚀\n\n在首期节目中,@jessicagarson 将为我们详细讲解她是如何构建 @FactualCat 的 #WelcomeToOurTechTalk\n⬇️\n\nhttps://t.co/nGa8JTQVBJ",
"author_id": "2244994945",
"id": "1524796546306478083"
},
{
"created_at": "2022-05-11T19:16:40.000Z",
"text": "📢 明天 5 月 12 日 | 美东时间下午 5:30 / 太平洋时间下午 2:30,与 @jessicagarson @alanbenlee 和 @i_am_daniele 一起探讨机器人的未来 https://t.co/sQ2bIO1fz6",
"author_id": "2244994945",
"id": "1524468552404668416"
},
{
"created_at": "2022-05-09T20:12:01.000Z",
"text": "您是否使用 X API 开发机器人?🤖\n\n5 月 12 日星期四 | 美东时间下午 5:30 / 太平洋时间下午 2:30,与 @jessicagarson @alanbenlee 和 @iamdaniele 一起探讨机器人的未来,并解答您的任何疑问。🎙📆⬇️\n\nhttps://t.co/2uVt7hCcdG",
"author_id": "2244994945",
"id": "1523757705436958720"
},
{
"created_at": "2022-05-06T18:19:54.000Z",
"text": "如果您想申请该计划,或想提名其他人参加,请填写以下表单:\n\nhttps://t.co/LUuWj24HLu",
"author_id": "2244994945",
"id": "1522642324781633536"
},
{
"created_at": "2022-05-06T18:19:53.000Z",
"text": "我们在论坛帖子中详细介绍了每位 Insider 的信息。\n\n欢迎一起祝贺新成员的加入!🥳\n\nhttps://t.co/0r5maYEjPJ",
"author_id": "2244994945",
"id": "1522642323535847424"
}
],
"includes": {
"users": [
{
"created_at": "2013-12-14T04:35:55.000Z",
"name": "X Dev",
"username": "TwitterDev",
"id": "2244994945"
}
]
},
"meta": {
"result_count": 5,
"newest_id": "1524796546306478083",
"oldest_id": "1522642323535847424",
"next_token": "7140dibdnow9c7btw421dyz6jism75z99gyxd8egarsc4"
}
}
步骤六:分页查看结果
在上一个响应的底部,你会看到一个 meta data 对象,其中包含以下字段:
- oldest_id
- newest_id
- results_count
- next_token
- previous_token
在步骤四中,我们传递了 max_results 的值为 5,这意味着每个页面最多包含五条结果。要访问更多页的数据,我们将把上一页结果中的 next_token 字段的值,作为字符串添加到 Postman 的 params 页面中的 pagination_token 参数上,其他设置保持不变。
| |
|---|
| 键 | 值 |
pagination_token | t3buvdr5pujq9g7bggsnf3ep2ha28 |
完成这些设置后,你可以再次点击“Send”,即可获取下一页结果。
我们编写了关于分页的指南,以进一步解释这一概念。
后续步骤
使用 API 参考文档自定义请求
向社区寻求帮助