使用python生成OAuth签名库

时间:2012-12-13 05:19:00

标签: python oauth

  

可能重复:
  Implementaion HMAC-SHA1 in python

`我正在尝试使用python进行一些OAuth身份验证,但我的oauth_signature一直被拒绝。 Python 3对我来说很新,所以有人能告诉我这段代码有什么问题:

api_key = 'string'
api_secret = 'another_string'
sig_key = api_secret + '&' + api_key
hmac_alg = hmac.new(sig_key.encode('utf-8'), sig_base_str.encode('utf-8'),hashlib.sha1)

signature_base = base64.b64encode(hmac_alg.digest())
url = url_base + '?' + 'oauth_signature=' + urllib.parse.quote(str(signature_base.decode('utf-8')),'') + '&' + str(param_str)

param_str是我输入参数的&分隔字符串。 HTTP服务似乎读得很好,因为它将根据我的要求改变输出响应。它只是拒绝我的签名。我认为hmac是罪魁祸首。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下

api_key = b'string'
api_secret = b'another_string'

来自python文档

  

PEP 3112:字节文字。 b“...”字符串文字符号(和它的   像b'...',b“”“......”“”和br“......”这样的变体现在产生一个文字   类型为bytes。