跳转到主要内容本页介绍在将 List lookup 端点集成到你的系统时需要了解的若干工具和关键概念。我们将本页分为以下几个部分:
在介绍有助于你集成此端点的一些关键概念之前,我们建议你先熟悉:
Postman 是一款非常适合用于测试端点的工具。每个 Postman 请求都包含所有路径参数和请求体参数,帮助您快速了解可用选项。要了解更多关于我们的 Postman 集合,请访问我们的 “使用 Postman” 页面。
想用你偏好的编程语言,配合一些代码来对接此端点吗?我们在 GitHub 页面提供了若干代码示例,可作为你的起点。
借助我们社区提供的第三方库快速入门。通过查找相应的版本标签,可找到适配 v2 端点的库。
所有 X API v2 端点都要求你使用一组凭据(也称为密钥和令牌)对请求进行认证。你可以使用 OAuth 1.0a 用户上下文、仅应用(App only)或 OAuth 2.0 授权码(PKCE)来对这些端点的请求进行认证。
OAuth 1.0a 用户上下文,这意味着你必须使用一组 API Keys 和用户 Access Tokens 才能成功发起请求。Access Tokens 必须与所代为发起请求的用户关联。如果你希望为另一位用户生成一组 Access Tokens,则该用户必须通过三方 OAuth 流程授权你的应用(App)。
请注意,OAuth 1.0a 可能较难使用。如果你不熟悉这种认证方法,我们建议你使用库、使用 Postman 等工具,或使用 OAuth 2.0 来对你的请求进行认证。
OAuth 2.0 授权码(PKCE) 允许对应用的作用域进行更细粒度的控制,并支持跨多设备的授权流程。OAuth 2.0 允许你选择特定的细粒度作用域,以在代表用户的前提下授予你特定权限。
要在你的应用(App)中启用 OAuth 2.0,你必须在开发者门户的 App 设置部分,进入该应用的认证设置并将其启用。
仅应用(App only) 只要求你在请求中携带一个仅应用 Access Token。你可以直接在开发者应用(App)中生成仅应用令牌,或使用 POST oauth2/token 端点生成。
要获取可用于 X API v2 端点的一组认证凭据,你需要先注册开发者账户,在该账户下设置一个项目,并在该项目中创建一个开发者应用。随后,你可以在你的开发者应用中找到密钥和令牌。
每天都有成千上万的开发者向 X API 发起请求。为管理这些请求的巨大规模,我们在每个端点上设置了速率限制,以限制你代表你的应用或代表已认证用户所能发起的请求数量。
这些端点在应用级别和用户级别都会受到速率限制。应用速率限制表示你(作为开发者)在给定时间内,使用任一应用(通过 API Key 和 API Secret Key,或 App only Access Token)对该端点只能发起一定数量的请求。用户速率限制表示你代表其发起请求的已认证用户,在任何开发者应用中只能进行一定次数的 List 查询。
下表展示了每个端点的速率限制。
| | |
|---|
| 端点 | HTTP 方法 | 速率限制 |
| /2/lists/:id | GET | 每 15 分钟 75 次请求 |
| /2/users/:id/owned_lists | GET | 每 15 分钟 15 次请求 |
Fields 和 expansions
X API v2 的 GET 端点允许用户使用名为 fields 和 expansions 的一组工具,精确选择希望从 API 返回的数据。expansions 参数允许你展开负载中引用的对象。例如,通过 ID 查询一个 List,可以获取以下expansions:
fields 参数允许你选择希望接收的不同数据对象中的具体fields。这些端点主要返回 List 对象。默认情况下,List 对象返回 id 和 name 字段。若要接收诸如 list.created_at 或 list.follower_count 等其他字段,你必须使用 list.fields 参数明确请求这些字段。
我们在 X API v2 数据字典中新增了关于同时使用fields 和 expansions的指南。
下表展示了该端点组可用的字段和 expansions:
| | |
|---|
| 端点 | 字段 | Expansions |
| /2/lists/:id | list.fields
user.fields | owner_id |
| /2/users/:id/owned_lists | list.fields
user.fields | owner_id |
查询用户拥有的列表可能会返回大量数据。为确保我们在任何时刻都能返回一致且高效的结果,我们使用分页。分页是 X API v2 端点中的一项功能,当返回结果超过单个响应所能包含的数量时,会将结果分成多个“页面”。在这种情况下,data 将以一系列页面的形式返回。了解如何分页获取结果。