是否有任何关于使用最新的Twitter REST API v1.1获取Twitter对话的工作

时间:2014-07-16 22:35:05

标签: api rest twitter

我正在开发一个需要检索Twitter用户对话的项目。例如,我想得到BBC World Service这条推文的所有回复。使用REST API v1.1我可以获得Twitter用户的时间表(推文,重新推文)。但我没有找到任何文档/工作工作来获取特定推文的回复。是否有任何关于获得特定推文回复的工作?

2 个答案:

答案 0 :(得分:17)

没有 API调用来获取特定推文的回复。但是,你可以作弊!

使用Search API您可以构建一个搜索查询:

  • 回复@bbcworldservice
  • 在推文发布后发生
  • (可选)之前特定日期/时间。

所以,在这种情况下,像

https://api.twitter.com/1.1/search/tweets.json?
    q=%23bbcworldservice&
    since_id=489366839953489920&
    count=100

您将获得推文列表(最多100个)。然后,您需要搜索in_reply_to_status_id_str并查看它是否与您正在寻找的状态相匹配。

答案 1 :(得分:0)

TwitterAPI v2允许您仅使用搜索中的session_id来检索整个对话线程。 (在v1.1中,您必须编写自定义代码来构建它)

对给定Tweet的答复以及对这些答复的答复都包含在源自单个原始Tweet的对话中。无论结果线程有多少,它们都将与引发会话的原始Tweet共享一个公共的session_id。使用Twitter API v2,您可以检索和重建整个对话线程,从而可以更好地理解所说的内容以及对话和想法的演变方式。

示例:

curl --request GET \
  --url 'https://api.twitter.com/2/tweets?ids=1225917697675886593&tweet.fields=author_id,conversation_id,created_at,in_reply_to_user_id,referenced_tweets&expansions=author_id,in_reply_to_user_id,referenced_tweets.id&user.fields=name,username' \
  --header 'Authorization: Bearer $BEARER_TOKEN' 

响应就像

{
    "data": [
        {
            "id": "1225917697675886593",
            "text": "@TwitterEng",
            "created_at": "2020-02-07T23:02:10.000Z",
            "author_id": "2244994945",
            "in_reply_to_user_id": "6844292",
            "conversation_id": "1225912275971657728",
            "referenced_tweets": [
                {
                    "type": "quoted",
                    "id": "1200517737669378053"
                },
                {
                    "type": "replied_to",
                    "id": "1225912275971657728"
                }
            ]
        }
    ],
    "includes": {
        "users": [
            {
                "username": "TwitterDev",
                "name": "Twitter Dev",
                "id": "2244994945"
            },
            {
                "username": "TwitterEng",
                "name": "Twitter Engineering",
                "id": "6844292"
            }
        ],
        "tweets": [
            {
                "id": "1200517737669378053",
                "text": "| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|\n             don't push            \n             to prod on            \n               Fridays                  \n|___________| \n(\\__/)  ||\n(•ㅅ•) ||\n/   づ",
                "created_at": "2019-11-29T20:51:47.000Z",
                "author_id": "2244994945",
                "conversation_id": "1200517737669378053"
            },
            {
                "id": "1225912275971657728",
                "text": "Note to self: Don't deploy on Fridays",
                "created_at": "2020-02-07T22:40:37.000Z",
                "author_id": "6844292",
                "conversation_id": "1225912275971657728"
            }
        ]
    }
}

有关更多信息,请查看twitter API Conversation