我正试图通过使用Twitter https://dev.twitter.com/docs/api/1.1/get/trends/place提供的GET trends/places
API来发送检索前10个热门话题列表的请求。这是Python中相同的代码:
import twitter
CONSUMER_KEY = ' XXXXXXXXXX'
CONSUMER_SECRET ='XXXXXXXXXXXX'
OAUTH_TOKEN = ' XXXXXXXXX'
OAUTH_TOKEN_SECRET = ' XXXXXXX'
auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET,
CONSUMER_KEY, CONSUMER_SECRET)
twitter_api = twitter.Twitter(auth=auth)
WORLD_WOE_ID = 1
world_trends = twitter_api.trends.place(_id=WORLD_WOE_ID)
print world_trends
当我只尝试打印' twitter_api'时,我会将以下内容作为输出:
<twitter.api.Twitter object at 0x39d9b50>
这意味着我已成功使用OAuth凭据获取查询Twitter API的授权。现在,在我运行上面的代码之后,我得到了错误:
TwitterHTTPError: Twitter sent status 400 for URL: 1.1/trends/place.json using parameters: (id=1&oauth_consumer_key=%201FqhG77x7XaVjx6a1lnm2ip8G&oauth_nonce=3628940350753944768&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1399534257&oauth_token=%20337142662-QWaMBk6MCe5vM6to5tw3AR3cHChYc0e0yUnEB7lh&oauth_version=1.0&oauth_signature=%2BD0ZzXV8cMuc5S%2B9UKRJ85xF1wY%3D)
details: {"errors":[{"message":"Bad Authentication data","code":215}]}
从错误消息中,我发现错误与错误的语法有关(因为我收到HTTP 400错误消息)。此外,当我尝试使用https://dev.twitter.com/docs/api/1.1/get/trends/place中提到的示例网址时,我仍然会收到以下错误:{"errors":[{"message":"Bad Authentication data","code":215}]}
代码有什么问题?我已经尝试找出错误的根本原因,但未找到任何重要的线索。
答案 0 :(得分:2)
好的,所以我尝试阅读文档。尝试通过模块的源代码,但找不到任何可疑的东西。和几个家伙谈过,没有运气。然后今天,我尝试重新生成我的身份验证密钥。该程序现在成功运行!我真的不知道如何重新生成我的密钥解决了这个bug,但我确实看到很多开发人员得到了完全相同的错误,没有人真正知道什么是错的。因此,如果您是其中之一,只需重新生成您的身份验证密钥,这样就可以使您的代码正常工作。
答案 1 :(得分:0)
我遇到了同样的问题。我强烈建议重新生成消费者密钥,密钥以及访问令牌,如果你是第一次这样做的话。通过一些研究,我发现它总是一样的。
答案 2 :(得分:0)
使用以下命令检查您的位置ID,然后使用该ID。