我是使用API的新手,我正在尝试使用twitter API来搜索推文。我在twitter上关注了开发指南,但它仍然提供了这个json代码。 {u'errors':[{u'message':u'Bad Authentication data',u'code':215}}}
consumer_key = xxx
consumer_secret = yyy
token = base64.b64encode(consumer_key + ":" + consumer_secret)
headers = {'Authorization' : 'Basic ' + token, 'Content-Type' : 'application/x-www-form-urlencoded;charset=UTF-8'}
data = {'grant_type' : 'client_credentials'}
url = 'https://api.twitter.com/oauth2/token'
resp = requests.post(url, data = data, headers=headers)
d = resp.json()
access_token = 'Bearer ' + d['access_token']
tweets = requests.get('https://api.twitter.com/1.1/search/tweets.json?q=python')
有什么建议吗?
答案 0 :(得分:2)
如果没有身份验证,Twitter API不允许访问,您可能会遇到凭据问题,请查看解释AUTHENTICATING Twitter API的article。
还有一件事,尝试使用Tweepy,它是一个易于使用的Python库,用于访问Twitter API。
以下是如何使用它的快速示例。您似乎正在获取与Python
相关的所有推文。
了解更多details
import tweepy
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import json
#Use your keys
consumer_key = '...'
consumer_secret = '...'
access_token = '...'
access_secret = '...'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
class TweetListener(StreamListener):
def on_status(self, status):
print "tweet " + str(status.created_at) +"\n"
print status.text + "\n"
# You can dump your tweets into Json File, or load it to your database
stream = Stream(auth, TweetListener(), secure=True, )
t = u"#python" # You can use different hashtags
stream.filter(track=[t])