我试图通过使用 Twitter 在https://dev.twitter.com/docs/api/1.1/get/trends/placeGET 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上提到的示例 URL 时,我仍然收到以下错误: {"errors":[{"message":"Bad Authentication data","code":215}]}
代码似乎有什么问题?我试图找到错误的根本原因,但未能找到任何重要的线索。