跳转到主要内容

搜索 Spaces endpoint 入门

本快速上手指南将帮助你使用 Postman,向搜索 Spaces 的 endpoint 发出首个请求,并指定一组 fields。 如果你希望查看不同编程语言的示例代码,请访问我们的 X API v2 示例代码 GitHub 仓库
先决条件要完成本指南,你需要一组用于对请求进行身份验证的密钥和令牌。你可以按照以下步骤生成这些密钥和令牌:
  • 注册开发者账户并通过审批。
  • 在开发者门户中创建一个Project以及关联的开发者 App
  • 前往你的 App 的“Keys and tokens”页面生成所需凭证。请确保将所有凭证保存在安全的位置。

构建搜索 Spaces 请求的步骤

步骤一:选择工具或库 有多种工具、代码示例和库可用于向此 endpoint 发起请求,但这里我们将使用 Postman 来简化流程。 要将 X API v2 的 Postman 集合加载到您的环境中,请点击以下按钮: 在 Postman 中加载 X API v2 集合后,前往 Spaces 文件夹并找到“Search Spaces”请求。   步骤二:为请求进行身份验证 要正确地向 X API 发起请求,您需要验证访问权限。为此,此 endpoint 要求您使用 OAuth 2.0 App-OnlyOAuth 2.0 Authorization Code with PKCE 进行身份验证。 为简化起见,我们在此请求中使用 OAuth 2.0 App-Only,但如果您希望请求私有度量或私有用户的 Spaces,则需要使用其他身份验证方式之一。  要使用 OAuth 2.0 App-Only,您必须将您的密钥和令牌,尤其是 App Access Token(也称 App-only Bearer Token)添加到 Postman。您可以在 Postman 右上角选择名为“X API v2”的环境,并将密钥和令牌添加到“initial value”和“current value”字段中(点击环境下拉菜单旁的眼睛图标)。 如果设置正确,这些变量会自动填充到请求的 authorization 选项卡中。   步骤三:创建搜索 query(查询) 此 endpoint 接受文本作为搜索 query(查询)。不同于其他搜索 endpoint,它不支持运算符、分组和逻辑运算符。在本练习中,我们将使用“hello”作为简单的 query。 在 Postman 中,前往“Params”选项卡,在 id 参数的“Value”列中输入此用户 ID。
KeyValue
queryhello
步骤四:确定并指定要检索的 fields 如果您在步骤三后点击“Send”按钮,您将收到 Spaces 的 ID 及其状态,这是响应中默认返回的唯一 Space 对象字段。 如果希望获取更多字段,必须在请求中通过 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": "你好,世界 👋",
        "state": "Running"
   },
   "includes": {
       "users": [
           {
               "created_at": "2013-12-14T04:35:55.000Z",
               "name": "Twitter Dev",
               "id": "2244994945",
               "username": "TwitterDev"
           }
       ]
   }
]
}
I