[英]Twitter search by hashtag example API v1.1
在过去,使用Twitter API版本1,我使用以下URL来获取所有推文的JSON提要,其中包含#baseball标签:
http://search.twitter.com/search.json?q=%23baseball&result_type=recent
如何使用API 1.1版获得类似的结果? 我使用PHP作为我的服务器端代码,所以不确定我是否需要使用它进行身份验证等等?
示例代码非常有用。 谢谢。
如您所知,现在需要经过身份验证的请求,因此您可能需要先了解一些事项。 新的1.1搜索,如何使用hashtags和身份验证。
Twitter搜索1.1
新的Twitter搜索api文档可以在这里找到。 根据这些文档:
https://api.twitter.com/1.1/search/tweets.json
是用于搜索的新资源URL。
Hashtag搜索
你有那个部分是正确的! %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。 我们一直在暗示这一点,首先在Streaming API上放弃XML支持,最近在trend API上放弃XML支持。 我们选择在整个平台上共享的JSON格式背后支持。
如果您只想测试,可以执行以下操作:
访问twitter dev控制台: https : //dev.twitter.com/console
在身份验证中:OAuth 1,它将要求您从您的Twitter帐户授予权限。
请求URL放置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)
}
这是python中使用请求API使用仅应用程序身份验证的简单示例。 通过https://apps.twitter.com/app/new创建应用来获取密钥。
api_key = ...
api_secret = ...
# https://dev.twitter.com/oauth/application-only
# The base64 stuff described there is the normal Basic Auth dance.
import requests
r = requests.post('https://api.twitter.com/oauth2/token',
auth=(api_key, api_secret),
headers={'Content-Type':
'application/x-www-form-urlencoded;charset=UTF-8'},
data='grant_type=client_credentials')
assert r.json()['token_type'] == 'bearer'
bearer = r.json()['access_token']
url = 'https://api.twitter.com/1.1/search/tweets.json?q=%23yourhashtag'
r = requests.get(url, headers={'Authorization': 'Bearer ' + bearer})
print r.json()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.