[cloudstack-users:0288] Re: CloudStack4.1.1でのAPIの利用方法について

Nobumasa Yukutomi yukutomi @ m.ieice.org
2013年 9月 24日 (火) 10:10:55 JST


永野さま

行冨です。

| というところですが、大文字を小文字に変えるのは人為的に変えるということでしょ
うか。

手操作するときは、人的になるかもしれません。
プログラムで操作される事をおすすめします。

尚、正確には、以下手順のようです。
Step 1: Make sure your APIKey is toLowerCased and URL encoded
Step 2: toLowerCase all the parameters, URL encode each parameter value,
and the sort the parameters
              in alphabetical order
              Please note that if any parameters with a '&' as a value
will cause this test client to fail since
              we are using '&' to delimit the string
Step 3: Construct the sorted URL and sign and URL encode the sorted URL
with your secret key
Step 4: Construct the final URL we want to send to the CloudStack
Management Server
              Final result should look like:
              http(s)://://client/api?&apiKey=&signature=

これは、ver 2.1の時代から変わりません。

取り急ぎ


2013年 9月 24日(火)09:21 に Wantata222 さんは書きました:
| 行冨様
|
| 永野です。
|
| アドバイスありがとうございました。
| セッションキーをエンコードしたことでlistAccontsを表示できました。
|
| なおメール中にありました、
| 「多分ですが、signatureの作成方法に問題があるのではないかと考えます。
| signatureを作るときにAPIkeyの大文字を小文字に変えてますか?」
| というところですが、大文字を小文字に変えるのは人為的に変えるということでしょ
うか。
|
| 理解に乏しく申し訳ございませんが
| 折角ご教示頂いたことを正しく理解できればと思っております。
|
| 以上宜しくお願い致します。
|
|
|
| 2013年9月24日 7:33 Nobumasa Yukutomi <yukutomi @ m.ieice.org>:
|
|> 永野さま
|>
|> 行冨と申します。
|>
|> こちらで、4.1.1にて
|> listAccountsを試しました。
|>
|> 特に問題なく取得出来ました。
|>
|> 多分ですが、signatureの作成方法に問題があるのではないかと考えます。
|> signatureを作るときにAPIkeyの大文字を小文字に変えてますか?
|>
|> 実際APIを発行する際には、大文字小文字混じりで構いませんが
|> signatureを作成時には、大文字を小文字に変えて下さい。
|>
|> もし既に上述されていた場合には、申し訳ありません。
|>
|> あと、求まったsignatureは、urlエンコードしてからお使い下さい。
|>
|> 取り急ぎ
|>
|>
|>
|> 2013年 9月 23日(月)22:04 に Wantata222 さんは書きました:
|> | 大橋様
|> |
|> | 永野です。
|> |
|> | 回答頂きましてありがとうございます。
|> |
|> | ご回答頂きました通りにまずは
|> | command=login〜〜を試してsessionkeyを取得できることを確認しました。
|> | なのでhttp://IPアドレス:8080/client/api<http://xn--ip:8080-sq4flhyfzp/client/api><http://xn--ip:8080-sq4flhyfzp
|> /client/api>
|> | のURIが動作できていることは確認できました。
|> |
|> | その後ご教示頂きましたsessionkeyを付与して
|> | (略)/api?command=listAccounts&sessionkey=〜&apikey=〜&signature=〜
|> | としたところ、
|> | また同様の401のメッセージが出力されました。
|> |
|> | ちなみにapikey、signature、sessionkeyはencodeせずそのまま貼り付けており
ま
|> す。
|> |
|> | 【出力メッセージ】
|> | <listaccountsresponse cloud-stack-version="4.1.1">
|> | <errorcode>401</errorcode>
|> | <errortext>
|> | unable to verify user credentials and/or request signature
|> | </errortext>
|> | </listaccountsresponse>
|> |
|> | 以上宜しくお願い致します。
|> |
|> |
|> |
|> |
|> | 2013年9月23日 21:23 Hiroki Ohashi <silvernshell @ gmail.com>:
|> |
|> |> 永野さん
|> |>
|> |> はじめまして。
|> |> 大橋と申します。
|> |>
|> |> CloudStack の REST API を使用するときには、最初に以下のように login コ
マ
|> ンドを
|> |> 実行する必要があるようです。
|> |>
|> |>     http://
|> |> <IPアドレス>:8080/client/api?command=login&username=<ユーザ名>&passwor
d=<
|> パスワード>&apikey=<APIキー>&signature=<シグネチャ>
|> |>
|> |> login コマンドのレスポンスヘッダに含まれる Cookie とボディに含まれる s
ess
|> ionkey を
|> |> 以降のコマンド実行時に送信すると API を呼び出せました。
|> |> アクセスする URL は以下のような感じです。
|> |>
|> |>     http://
|> |> <IPアドレス>:8080/client/api?command=<コマンド>(&xxx=<引数1>&...)&sess
ion
|> key=<セッションキー>&apikey=<APIキー>&signature=<シグネチャ>
|> |>
|> |> レスポンスで取得したクッキーはリクエストのヘッダに含めます。
|> |>
|> |> ログイン処理が必要なのは REST API にアクセスするユーザがどのドメインに
属
|> するか、
|> |> また、管理者であるか否かによって実行できる API が異なるためと思われま
す。
|> |> Cookie と sessionkey の両方とも必要なのか、どちらか片方だけでよいのか
は調
|> 査不足で
|> |> わかりません。
|> |>
|> |> 以上、ご参考になれば幸いです。
|> |>
|> |> 大橋
|> |>
|> | _______________________________________________
|> | users mailing list
|> | users @ cloudstack.jp
|> | http://ml.cloudstack.jp/mailman/listinfo/users
|> |
|>
|>
|> ---
|> Nobumasa Yukutomi yukutomi @ m.ieice.org
|> Cloud   ID:         = 92 21 37 42-0e f1-43 10 - 96 dd-c0 bf 33 9f ca 05
|> PGP6Key fingerprint = DE61 9B71 43E7 E999 BDE2 11DE 7187 B902 239E 74F7
|> Op  SSL fingerprint = 9F 66 5A ED B3 1F BE 1C   02 99 F0 E3 E4 CE 84 74
|> Op  SSL thumb-mark  = 62F1 1323 B193 B686 5E47 E5FE DF11 B9DA 2152 8A99
|> SSLprxy fingerprint = A0 04 CA 35 E6 84 14 7D   99 42 74 1A D5 E4 7A 26
|> SSLprxy thumb-mark  = 1315 9674 E866 55BA 9EC8 07AF A59A 8E75 C915 6CB0
|>
|> _______________________________________________
|> users mailing list
|> users @ cloudstack.jp
|> http://ml.cloudstack.jp/mailman/listinfo/users
|>
|


---
Nobumasa Yukutomi yukutomi @ m.ieice.org
Cloud   ID:         = 92 21 37 42-0e f1-43 10 - 96 dd-c0 bf 33 9f ca 05
PGP6Key fingerprint = DE61 9B71 43E7 E999 BDE2 11DE 7187 B902 239E 74F7
Op  SSL fingerprint = 9F 66 5A ED B3 1F BE 1C   02 99 F0 E3 E4 CE 84 74
Op  SSL thumb-mark  = 62F1 1323 B193 B686 5E47 E5FE DF11 B9DA 2152 8A99
SSLprxy fingerprint = A0 04 CA 35 E6 84 14 7D   99 42 74 1A D5 E4 7A 26
SSLprxy thumb-mark  = 1315 9674 E866 55BA 9EC8 07AF A59A 8E75 C915 6CB0



users メーリングリストの案内