我创建了一个应用程序,其“回调 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。无法验证 oauth 签名和令牌”
如何访问我创建的应用程序的 oauth_token 和 oauth_token_secret?