Python経由でTwitter APIを使用しようとしています。私はoauthライブラリと更新機能を使用しています。
コードは次のとおりです。
oauth_token = oauth.Token(key=twitter_settings.access_token_key, secret=twitter_settings.access_token_secret)
oauth_consumer = oauth.Consumer(key=twitter_settings.consumer_key, secret=twitter_settings.consumer_secret)
signature_method_hmac_sha1 = oauth.SignatureMethod_HMAC_SHA1()
http_handler = urllib.HTTPHandler(debuglevel=_debug)
https_handler = urllib.HTTPSHandler(debuglevel=_debug)
def twitter_req(url, method, parameters):
req = oauth.Request.from_consumer_and_token(oauth_consumer,
token=oauth_token,
http_method=http_method,
http_url=url,
parameters=parameters)
req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token)
headers = req.to_header()
if method == "POST":
encoded_post_data = req.to_postdata()
else:
encoded_post_data = None
url = req.to_url()
print encoded_post_data
print url
opener = urllib.OpenerDirector()
opener.add_handler(http_handler)
opener.add_handler(https_handler)
response = opener.open(url, encoded_post_data)
return response
update_url = "https://api.twitter.com/1.1/statuses/update.json"
update_parameters = {'status': "test"}
update_response = twitter_req(update_url, "POST", update_parameters)
次のエラーが表示されます。
{"errors":[{"message":"Could not authenticate you","code":32}]}
インターネットで答えを見つけようと何時間も費やしましたが、できませんでした。助けてください。