无法从 Runabove API (Openstack swift) 获取令牌

Can't get tokens from Runabove API (Openstack swift)

我正在编写 python 使用 OpenStack 和 Runabove API 的脚本。我想从 Runabove API 生成一个令牌,它将用于连接到 SwiftClient。

run = Runabove(app_key, app_secret, consumer_key)
token = run.tokens.get()

它来自那里:https://github.com/runabove/python-runabove/blob/master/examples/openstack/openstack.py(第 82 行 -> 85)

此代码引发:

raise BadParametersError(msg=json_result.get('message'))
runabove.exception.BadParametersError: Invalid signature

这意味着引发了 HTTPError 400: https://github.com/runabove/python-runabove/blob/master/runabove/wrapper_api.py(第 164 行)

我不知道我的问题从何而来,我 100% 确定我的 keys/secret 是正确的。

谢谢

我确定您的应用程序密钥和机密是有效的,但您也需要消费者密钥!

您可以阅读 runabove-python package readme 了解如何创建消费者密钥,然后您可以将其添加到您提供的示例中,它将完美运行。

您还可以在 RunAbove 网站上阅读此 KB 以了解为什么需要此消费者密钥以及它如何帮助您使用类似 ACL 的系统过滤请求。