1

我创建了一个应用程序,其“回调 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?

4

1 回答 1

0

看看这个线程- 如果你想实现整个 oAuth2 握手。否则,我将使用tweepy,它会为您解决这个问题。

于 2013-04-16T05:41:01.390 回答