【问题标题】:How to parse StackExchange OAuth response?如何解析 StackExchange OAuth 响应?
【发布时间】:2015-02-26 01:51:52
【问题描述】:

我正在尝试与SE API 集成,我几乎完成了。我从步骤 1-3 中成功获取了代码,现在通过以下方法请求访问令牌:

def get_token(self, code):
    api_response = requests.post(
        url=self.TOKEN_URL,
        data={
            'client_id': self.client_id,
            'client_secret': self.client_secret,
            'code': code,
            'redirect_uri': self.redirect_uri,
        },
        headers={'Content-type': 'application/x-www-form-urlencoded'}
    )
    return api_response.text

该方法返回一个字符串,如:

access_token=abcd1234abcd1234abcd1234&expires=86399

我很难解析。在 Python 中是否有一种方便的方法可以从该字符串中获取 access_token 值,而无需调用正则表达式?

【问题讨论】:

    标签: python django oauth


    【解决方案1】:

    当然。 urlparse 模块包含 parse_qs 函数,它接受查询字符串并返回一个字典:

    >>> urlparse.parse_qs('access_token=abcd1234abcd1234abcd1234&expires=86399')
    {'access_token': ['abcd1234abcd1234abcd1234'], 'expires': ['86399']}
    

    但是,我确实想知道您为什么不使用完整的 Python OAuth 客户端库 - 有各种各样的,例如 Google's,可以为您完成所有事情。

    【讨论】:

    • 感谢您的回答。我知道存在解决方案,但我正在学习 Python,自己做这些事情很有见地。
    猜你喜欢
    • 1970-01-01
    • 2019-08-06
    • 2012-03-27
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多