Python + Oauth2 for Twitter Status Updates

Andrew Bolster
Data Science Engineering Manager at WhiteHat Security, Trustee at Farset Labs and Vault Artist Studios
Working on the Farset Labs Big Red Button for space occupancy, had to find a simple way to tweet a status. This is a post to remind myself and anyone else who has dived through hundreds of incorrect, out of date, or inapplicable examples of Oauth 2 with Twitter using a pre-generated auth-token pair.
import oauth2 as oauth
import urllib
ckey='$CONSUMER_KEY'
csecret='$CONSUMER_SECRET'
akey='$AUTH_TOKEN'
asecret='$AUTH_SECRET'
def post_twitter(status):
try:
consumer = oauth.Consumer(key=ckey, secret=csecret)
token = oauth.Token(key=akey, secret=asecret)
client = oauth.Client(consumer, token)
resp, content = client.request(
postapi,
method='POST',
body = urllib.urlencode({"status": status,
"wrap_links": True}),
#headers=http_headers,
#force_auth_header=True
)
except oauth.Error as err:
print("Twitter Error:"+err)
return resp, content
post_twitter("Hello Twitterverse")