0

OpenStack および Runabove API を使用する Python スクリプトを作成しています。SwiftClient への接続に使用される Runabove API からトークンを生成したいと考えています。

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% 確信しています。

ありがとう

4

1 に答える 1

0

アプリケーション キーとシークレットは有効ですが、コンシューマ キーも必要です。

runabove-python パッケージの readmeを読んで、コンシューマ キーの作成方法を理解してから、それを提供した例に追加すると、完全に機能します。

また、RunAbove Web サイトでこのKBを読んで、このコンシューマー キーが必要な理由と、ACL のようなシステムで要求をフィルター処理するのにどのように役立つかを理解することもできます。

于 2015-05-17T01:28:57.127 に答える