跳转到主要内容

Posts 查询 endpoint 快速上手

本快速上手指南将帮助你使用 Postman,针对 Posts 查询 endpoint,并在请求中指定一组 fields,发送你的第一个请求。 如果你希望查看不同语言的示例代码,请访问我们的 GitHub 仓库:X API v2 sample code

前提条件

要完成本指南,你需要一组用于对请求进行身份验证的密钥和令牌。你可以按照以下步骤生成这些密钥和令牌:
  • 注册开发者账户并通过审核。
  • 在开发者门户中创建一个Project并关联一个开发者 App
  • 前往你的 App 的“Keys and tokens”页面生成所需凭证。请务必将所有凭证妥善保管。

构建 GET /tweets 请求的步骤

第一步:选择工具或库

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

第二步:对请求进行身份验证

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

第三步:确定并指定要检索的 Posts

必须在请求中指定希望获取的一个或一组 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

第四步:确定并指明要检索的 fields

在完成第三步后点击“Send”按钮,你会在响应中收到默认的 Post 对象字段idtextedit_history_tweet_ids 在本练习中,我们将从不同对象请求三组额外的字段:
  • 在主对象中追加 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.id, includes.users.name, includes.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

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

完成所有设置后,点击“Send”按钮,您将收到如下响应:
{
    "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"
            }
        ]
    }
}
I