跳转到主要内容

开始使用 search Spaces 端点

本快速入门指南将帮助你使用 Postman,针对指定的一组 fields,向 search Spaces 端点发出第一个请求。 如果你希望查看不同编程语言的示例代码,请访问我们的 X API v2 示例代码 GitHub 仓库
先决条件要完成本指南,你需要一组用于对请求进行认证的 keys and tokens。你可以按照以下步骤生成这些 keys 和 tokens:
  • 注册开发者账户 并通过审核。
  • 在开发者门户中创建一个 Project 以及关联的 开发者应用
  • 前往你的应用的“Keys and tokens”页面以生成所需凭据。请务必将所有凭据保存在安全位置。

构建搜索 Spaces 请求的步骤

步骤一:选择工具或库 可用于向此端点发起请求的工具、代码示例和库有多种;为简化流程,我们将在此使用 Postman。 要将 X API v2 的 Postman 集合加载到您的环境中,请点击以下按钮: 将 X API v2 集合加载到 Postman 后,导航到 Spaces 文件夹并找到 “Search Spaces” 请求。   步骤二:为请求进行认证 要正确向 X API 发起请求,您需要验证访问权限。为此,此端点要求使用 OAuth 2.0 App-OnlyOAuth 2.0 Authorization Code with PKCE 方式对请求进行认证。 为简便起见,本示例使用 OAuth 2.0 App-Only;但如果您需要请求私有metrics 或来自私密用户的 Spaces,则需改用其他认证方式之一。  使用 OAuth 2.0 App-Only 时,必须将密钥和令牌(尤其是 App Access Token,亦称 App-only Bearer Token)添加到 Postman。您可以在 Postman 右上角选择名为“X API v2”的环境,并将密钥和令牌添加到 “initial value” 与 “current value” 字段(点击环境下拉旁的“眼睛”图标)中。 设置正确后,这些变量会自动注入到请求的 authorization 选项卡。   步骤三:创建搜索查询 此端点接受文本作为搜索查询。不同于其他搜索端点,它不支持操作符、分组或逻辑运算符。本练习中,我们使用 “hello” 作为简单查询。 在 Postman 中,进入 “Params” 选项卡,将该用户 ID 填入 id 参数的 “Value” 列。
KeyValue
queryhello
步骤四:确定并指定要检索的 fields 若在步骤三后点击 “Send” 按钮,您将仅收到 Spaces 的 ID 及其状态——这是响应中默认返回的唯一 Space 对象 fields。 如需更多字段,需在请求中通过 space.fields 或 expansions 参数显式指定。 在本练习中,我们将从不同对象请求三组额外的 fields:
  • 主 Spaces 对象中的额外 title 字段。
  • 指定 creator ID 的完整用户对象。
  • 关联用户对象中的额外 user.created_at 字段。
在 Postman 中,进入 “Params” 选项卡,在 “Query Params” 表中添加以下键值对:
KeyValueReturned fields
space.fieldstitlecreator_id
expansionscreator_idincludes.users.id, includes.users.name, includes.users.username
user.fieldscreated_atincludes.users.created_at
您现在应当在 “Send” 按钮旁看到以下 URL: https://api.x.com/2/spaces/search?query=hello&space.fields=creator_id&expansions=creator_id&user.fields=created_at 步骤五:发起请求并查看响应 完成所有设置后,点击 “Send” 按钮,即可收到以下响应:
   "data": [
    {
        "creator_id": "2244994945",
        "id": "1zqKVXPQhvZJB",
        "title": "Hello world 👋",
        "state": "Running"
   },
   "includes": {
       "users": [
           {
               "created_at": "2013-12-14T04:35:55.000Z",
               "name": "Twitter Dev",
               "id": "2244994945",
               "username": "TwitterDev"
           }
       ]
   }
]
}