跳转到主要内容

开始使用 Posts 查询端点

本快速入门指南将帮助你使用 Postman,向 Posts 查询端点发出第一个请求,并指定一组 fields。 如果你想查看不同语言的示例代码,请访问我们的 X API v2 示例代码 GitHub 仓库。

先决条件

要完成本指南,你需要一组用于对请求进行认证的密钥和令牌。你可以按照以下步骤生成这些密钥和令牌:
  • 注册开发者账户并获得批准。
  • 在开发者门户中创建一个项目并关联一个开发者应用
  • 前往你的应用的“Keys and tokens”页面以生成所需的凭据。请确保将所有凭据保存在安全的位置。

构建 GET /tweets 请求的步骤

第一步:选择工具或库

你可以使用多种工具、代码示例和库来向该端点发起请求,但为简化流程,我们将在此使用 Postman。 要将 X API v2 的 Postman 集合加载到你的环境中,点击下方按钮: 在你将 X API v2 集合加载到 Postman 后,前往“Post Lookup > Multiple Posts”请求。

步骤二:为请求进行认证

要正确向 X API 发起请求,您需要证明自己具备相应权限。您可以通过以下方式对请求进行认证: 为简化说明,我们将在本次请求中使用 OAuth 2.0 App-Only。但如果您需要请求私有metrics或 Post,则需改用上述其他认证方法之一。 要使用 OAuth 2.0 App-Only,您必须将密钥和令牌(特别是 App Access Token,也称为 App-only Bearer Token)添加到 Postman:在 Postman 右上角选择名为“X API v2”的环境,并将密钥和令牌填入“initial value”和“current value”字段(点击环境下拉菜单旁的眼睛图标)。 如果设置正确,这些变量会自动填充到请求的 authorization 选项卡中。

步骤三:识别并指定要检索的 Post

你必须在请求中明确指定一个或一组希望返回的 Post。你可以在 X.com 上打开某个 Post,然后查看其 URL 来获取该 Post 的 id。比如,以下 URL 的 Post id 为 1228393702244134912 https://x.com/TwitterDev/status/1228393702244134912 在 Postman 中,转到 “Params” 选项卡,在 ids 参数的 “Value” 列中输入该 id,或输入用逗号分隔的一串 Post id。
KeyValue
ids1228393702244134912,1227640996038684673,1199786642791452673

第四步:确定并指定要检索的字段

如果在第三步后点击“Send”按钮,您将会在响应中收到默认的 Post 对象字段idtextedit_history_tweet_ids 在本练习中,我们将从不同对象请求三组额外字段:
  • 主体 Post 对象中的附加 tweet.created_at field
  • 返回的 Posts 的关联作者的用户对象默认字段:idnameusername
  • 关联用户对象中的附加 user.created_at field
在 Postman 中,转到“Params”选项卡,并在“Query Params”表中添加以下 key:value 键值对:
KeyValueReturned fields
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.idincludes.users.nameincludes.users.username
user.fieldscreated_atincludes.users.created_at
您应当会在“Send”按钮旁边看到此 URL:
https://api.x.com/2/tweets?ids=1228393702244134912,1227640996038684673,1199786642791452673&tweet.fields=created_at&expansions=author_id&user.fields=created_at

第五步:发起请求并查看响应

完成所有设置后,点击“发送”按钮,您将收到如下响应:
{
    "data": [
        {
            "edit_history_tweet_ids": [
                "1228393702244134912"
            ],
            "text": "开发者在情人节贺卡上写了什么?\n  \nwhile(true) {\n    I = Love(You);  \n}",
            "id": "1228393702244134912",
            "created_at": "2020-02-14T19:00:55.000Z",
            "author_id": "2244994945"
        },
        {
            "edit_history_tweet_ids": [
                "1227640996038684673"
            ],
            "text": "医生:上网搜索不会让你成为医生\n\n开发者: https://t.co/mrju5ypPkb",
            "id": "1227640996038684673",
            "created_at": "2020-02-12T17:09:56.000Z",
            "author_id": "2244994945"
        },
        {
            "edit_history_tweet_ids": [
                "1199786642791452673"
            ],
            "text": "C#",
            "id": "1199786642791452673",
            "created_at": "2019-11-27T20:26:41.000Z",
            "author_id": "2244994945"
        }
    ],
    "includes": {
        "users": [
            {
                "name": "开发者",
                "created_at": "2013-12-14T04:35:55.000Z",
                "id": "2244994945",
                "username": "XDevelopers"
            }
        ]
    }
}