【发布时间】:2014-04-23 08:54:27
【问题描述】:
我想要完成的是使用 twitter 的搜索 api 获取围绕特定地理编码的推文。我正在使用 python OAuth2(我使用的是 python-twitter,但它有问题)。
我的hacky代码如下
class Herp:
def oauth_req(self,url, http_method="GET", post_body=None, http_headers=None):
consumer = oauth.Consumer(key=credentials.CONSUMER_KEY, secret=credentials.CONSUMER_SECRET)
token = oauth.Token(key=credentials.ACCESS_TOKEN, secret=credentials.ACCESS_TOKEN_SECRET)
client = oauth.Client(consumer, token)
resp, content = client.request(
url,
method=http_method
)
return content
def search(self):
self.searchResults = self.oauth_req('https://api.twitter.com/1.1/search/tweets.json?q=geocode="42.3581,-71.0636,10mi"&count=100&type=recent')
def __init__(self):
self.client = None
self.SearchResults = None
请求有效,并且从那里我得到了我期望的格式的响应,但是没有包含推文。
这是 JSON 响应:
{"statuses":[],"search_metadata":{"completed_in":0.013,"max_id":445673138282442752,"max_id_str":"445673138282442752","query":"goeocode%3D%2242.3581%2C-71.0636%2C10mi%22","refresh_url":"?since_id=445673138282442752&q=goeocode%3D%2242.3581%2C-71.0636%2C10mi%22&include_entities=1","count":100,"since_id":0,"since_id_str":"0"}}
抱歉,格式很糟糕,但您可以看到它的第一件事是“状态”:[] 这应该是来自 twitter 的推文响应对象数组。详情见这里 -> https://dev.twitter.com/docs/api/1.1/get/search/tweets
快速说明,我知道应该有推文,因为响应对象中给出了 "count":100 元数据。 (我也尝试将我的回复限制为 1 条推文,但仍然没有返回)
我认为这不是超时问题,并且我在网络上没有找到任何相关帮助,所以我没有想法。 任何帮助将不胜感激!
更新:
感谢 Drewness 将我的目光指向网址,我修复了它。我意识到未设置所需的查询字符串参数“q”,因此我的查询字符串不正确。
q=geocode="42.3581,-71.0636,10mi"&count=100&type=recent
需要改成
q=""&geocode="42.3581,-71.0636,10mi"&count=100&type=recent
但是,我无法在提出问题的 8 小时内回答我自己的问题..
【问题讨论】:
标签: python json search twitter oauth-2.0