【问题标题】:How can i invalidate a twitter bearer token with rauth?如何使用 rauth 使 twitter 不记名令牌无效?
【发布时间】:2013-10-01 04:38:32
【问题描述】:

如何使用 rauth 使来自 twitter 的不记名令牌无效?(https://dev.twitter.com/docs/api/1.1/post/oauth2/invalidate_token)

我尝试通过 oauth2 会话进行此操作,但它不起作用。 顺便说一句,有没有办法查看将发送/由 rauth 创建的完整请求?这对于调试和了解 rauth 产生的内容非常有帮助。

到目前为止,这是我的代码:

session = rauth.OAuth2Session(client_id=c_key,
                              client_secret=c_secret,
                              access_token=o_bearer_token)

bearer_raw = session.post('https://api.twitter.com/oauth2/invalidate_token',
                           params={ 'Host': 'api.twitter.com',
                                            'User-Agent': '',
                                            'Accept': '*/*',
                                            'Content-Type': 'application/x-www-form-urlencoded',
                                            'Content-Length': str(len(o_bearer_token)),
                                            'access_token':str(o_bearer_token)})

【问题讨论】:

  • 为什么你的标题进入params 字典?请记住,Rauth 本质上是 Requests:您应该像使用 Requests 一样使用它。标头应在 headers 参数中传递。
  • 是的,参数必须在标题中。我认为 twitter 上的 invalidate_token 端点存在问题。我试图让它与 pycurl 一起工作,它有时可以工作。不能说什么时候有效,什么时候无效,以及为什么。

标签: python twitter oauth rauth


【解决方案1】:

我认为请求的格式不正确。看起来 Twitter 文档表明它应该是这样的:

session = rauth.OAuth2Session(client_id=KEY,
                              client_secret=SECRET,
                              access_token=TOKEN)

r = session.post('https://api.twitter.com/oauth2/invalidate_token', bearer_auth=True)

顺便说一句,Rauth 是 Requests;它只是请求之上的一层。所以是的,您可以像使用 Requests 一样查看请求。像r.request 这样的东西应该会暴露你正在寻找的东西。

【讨论】:

    猜你喜欢
    • 2014-09-04
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2014-11-05
    • 2013-12-19
    • 2021-11-28
    相关资源
    最近更新 更多