BadParametersError:使用 OVH Python 包装器时签名无效
Posted
技术标签:
【中文标题】BadParametersError:使用 OVH Python 包装器时签名无效【英文标题】:BadParametersError: Invalid signature when using OVH Python wrapper 【发布时间】:2016-07-14 11:34:43 【问题描述】:我正在使用 OVH API 和 python 包装器:
https://pypi.python.org/pypi/ovh
尝试执行此代码时:
import ovh
client = ovh.Client()
# Print nice welcome message
print "Welcome", client.get('/me')['firstname']
我收到此错误:
Traceback (most recent call last):
File "index.py", line 6, in <module>
print "Welcome", client.get('/me')['firstname']
File "/home/rubinhozzz/.local/lib/python2.7/site-packages/ovh/client.py", line 290, in get
return self.call('GET', _target, None, _need_auth)
File "/home/rubinhozzz/.local/lib/python2.7/site-packages/ovh/client.py", line 419, in call
raise BadParametersError(json_result.get('message'))
ovh.exceptions.BadParametersError: Invalid signature
按照文档的建议,我的信息保存在 ovh.conf 中。
[default]
; general configuration: default endpoint
endpoint=ovh-eu
[ovh-eu]
application_key=XXXlVy5SE7dY7Gc5
application_secret=XXXdTEBKHweS5F0P0tb0lfOa8GoQPy4l
consumer_key=pscg79fXXX8ESMIXXX7dR9ckpDR7Pful
看起来我可以连接,但在尝试使用“/me”等服务时,出现错误!
【问题讨论】:
嗨鲁本,你的问题解决了吗?否则,请随时在github.com/ovh/python-ovh 上打开问题或订阅 api-subscribe@ml.ovh.net。从那里提供帮助会更容易:) @yadutaf 我不知何故使用了旧版本的 OVH 库。我可以解决它。谢谢 【参考方案1】:很难重现该问题,因为它需要应用程序密钥,而且似乎只授予 OVH 的现有客户。我什至看不到他们网站上帐户注册页面的链接。
通过查看code of the call() method in /ovh/client.py,他们的服务器似乎无法识别您的脚本发送的签名的格式或内容。根据内联文档,签名是从这些参数生成的:
application_secret consumer_key 方法 完整的请求网址 身体 服务器当前时间(考虑时间增量)由于您的调用与 OVH Python 包网页上提供的示例代码相同,因此最后四个参数应该是有效的。在这种情况下,您的配置文件中的 application secret 或 customer key(或两者)看起来都不正确。
另请参阅“签名请求”标题下的 documentation on OVH site。他们解释了签名是如何制作的以及它应该是什么样子。
也许尝试重新创建一个新的应用程序 API 以获取新的密钥和秘密,并确保您复制它们时没有任何额外的字符。
【讨论】:
以上是关于BadParametersError:使用 OVH Python 包装器时签名无效的主要内容,如果未能解决你的问题,请参考以下文章