Sample code for 30+ languages & platforms
Chilkat2-Python Requires Chilkat v11.0.0+

Twitter - Application Only Authentication

Demonstrates how to get a Twitter OAuth2 token for application-only authentication.

This example is deprecated and no longer valid.

Chilkat Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

# It requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

# Note: Define your Twitter apps at https://apps.twitter.com/

# We're going to send an HTTPS POST that looks like this:

# POST /oauth2/token HTTP/1.1
# Host: api.twitter.com
# User-Agent: My Twitter App v1.0.23
# Authorization: Basic eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJn
#                      NmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==
# Content-Type: application/x-www-form-urlencoded;charset=UTF-8
# Content-Length: 29
# Accept-Encoding: gzip
# 
# grant_type=client_credentials

# Update these values with your consumer key and secret (also known as API key and API secret).
consumerKey = "TWITTER_CONSUMER_KEY"
consumerSecret = "TWITTER_CONSUMER_SECRET"

http = chilkat2.Http()

http.BasicAuth = True
http.Login = consumerKey
http.Password = consumerSecret

req = chilkat2.HttpRequest()
req.AddParam("grant_type","client_credentials")

req.HttpVerb = "POST"
req.ContentType = "application/x-www-form-urlencoded"

resp = chilkat2.HttpResponse()
success = http.HttpReq("https://api.twitter.com/oauth2/token",req,resp)
if (success == False):
    print(http.LastErrorText)
    sys.exit()

print("Response Status Code: " + str(resp.StatusCode))

if (resp.StatusCode != 200):
    print("Expected a 200 response status code for success.")
    print(resp.BodyStr)
    sys.exit()

# We should get a JSON response like this:

# {
#     "token_type":"bearer",
#     "access_token":"..."
# }

json = chilkat2.JsonObject()
json.Load(resp.BodyStr)

print("Access token = " + json.StringOf("access_token"))