Twitter 按主题标签搜索示例 API v1.1
过去,使用 Twitter API 版本 1,我使用以下 URL 获取主题标签为“棒球”的所有推文的 JSON 源:
http://search.twitter.com/search.json?q=%23baseball&result_type=recent
如何使用 API 版本 1.1 获得类似的结果?我使用PHP作为我的服务器端代码,所以不确定我是否需要使用它进行身份验证等?
示例代码将非常有用。谢谢。
过去,使用 Twitter API 版本 1,我使用以下 URL 获取主题标签为“棒球”的所有推文的 JSON 源:
http://search.twitter.com/search.json?q=%23baseball&result_type=recent
如何使用 API 版本 1.1 获得类似的结果?我使用PHP作为我的服务器端代码,所以不确定我是否需要使用它进行身份验证等?
示例代码将非常有用。谢谢。
如您所知,现在需要经过身份验证的请求,因此您可能需要先查看一些事项。新的 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 格式。
如果您只想进行测试,可以执行以下操作:
访问 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)
}