「コールバック URL」フィールドが空白のアプリケーションを作成しました。プログラムで oauth エンドポイント ( https://dev.twitter.com/docs/api/1/post/oauth/access_token ) の access_token 関数を使用し、oauth_token と oauth_token_secret を取得したいと考えています。
これをブラウザからアプリケーションに移動し、ボタンをクリックしてアクセス トークンを生成することができます。ただし、これを python プログラムを介して自動的に実行したいと考えています。https://dev.twitter.com/docs/api/1/post/oauth/access_tokenは、「コールバック URL」が必須フライドであると述べています。空白のままにしておくと、「401 Unauthorized Failed to validate oauth signature and token」という応答が返されるため、機能しません。
Twitter API ラッパーや oauth ライブラリを使用したくありません。
私は次のコードを試しました -
import httplib
import uuid
from time import time
host = 'api.twitter.com'
url = "/oauth/request_token"
req = httplib.HTTPSConnection(host)
req.putrequest("GET", url)
req.putheader("Host", host)
uid = uuid.uuid4()
req.putheader("oauth_consumer_key" , consumer_key)
req.putheader("OAuth oauth_nonce" , uid.hex)
req.putheader("oauth_signature_method" , "HMAC-SHA1")
req.putheader("oauth_timestamp" , str(time.time()))
req.putheader("oauth_version" , "1.0")
req.putheader("oauth_callback" , "")
req.putheader("oauth_signature" , consumer_secret)
req.endheaders()
resp = req.getresponse()
data = resp.read()
print resp.status, resp.reason
print data
これは、「401 Unauthorized. Failed to validate oauth signature and token」を返します。
作成したアプリケーションの oauth_token と oauth_token_secret にアクセスするにはどうすればよいですか?