Twitter 按主题标签搜索示例 API v1.1

2022-08-30 19:47:34

过去,使用 Twitter API 版本 1,我使用以下 URL 获取主题标签为“棒球”的所有推文的 JSON 源:

http://search.twitter.com/search.json?q=%23baseball&result_type=recent

如何使用 API 版本 1.1 获得类似的结果?我使用PHP作为我的服务器端代码,所以不确定我是否需要使用它进行身份验证等?

示例代码将非常有用。谢谢。


答案 1

如您所知,现在需要经过身份验证的请求,因此您可能需要先查看一些事项。新的 1.1 搜索、如何使用主题标签和身份验证。

推特搜索 1.1

新的推特搜索API文档可以在这里找到。根据这些文档:

https://api.twitter.com/1.1/search/tweets.json是用于搜索的新资源 URL。

话题标签搜索

你做对了! 解码为字符。%23#

认证

OAuth要复杂得多。如果您只使用刚刚工作的库,这将有所帮助。

这里有一篇文章,很多人发现它有助于帮助你向 1.1 API 发出经过身份验证的请求。这包括一个单文件包含,用于发出与您需要的请求类似的请求。

此示例假设您正在使用上述库并设置密钥等。要提出您的请求:

// Your specific requirements
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$requestMethod = 'GET';
$getfield = '?q=#baseball&result_type=recent';

// Perform the request
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)
             ->performRequest();

是的,就是这样。除了需要执行的一些设置(如我的帖子所述)之外,对于开发密钥,这就是执行经过身份验证的请求所需的一切。

响应

响应以 JSON 格式返回给您。从概述

API v1.1 将仅支持 JSON。一段时间以来,我们一直在暗示这一点,首先放弃了对流式处理 API 的 XML 支持,最近又放弃了趋势 API 的支持。我们选择支持跨平台共享的 JSON 格式。


答案 2

如果您只想进行测试,可以执行以下操作:

访问 Twitter 开发控制台:https://dev.twitter.com/console

在身份验证放置:OAuth 1中,这将要求您从您的Twitter帐户授予许可。

请求网址把 GET

网址: https://api.twitter.com/1.1/search/tweets.json?q=%23yourhashtag

在“发送”之后,在“请求”窗口中,复制“授权”值。

现在把它放在你的请求头。

去的例子:

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://api.twitter.com/1.1/search/tweets.json?q=%23golang", nil)
    req.Header.Add("Authorization", `OAuth oauth_consumer_key=...`)

    resp, _ := client.Do(req)
    io.Copy(os.Stdout, resp.Body)
}

推荐