<div dir="ltr">$B9TIYMM!!2CF#MM(B<div><br></div><div>$B1JLn$G$9!#(B</div><div><br></div><div><br></div><div>$B5.=E$J>pJs$"$j$,$H$&$4$6$$$^$9!#(B</div><div>$B>/$7;n$9$^$G$K$O;~4V$,$+$+$j$=$&$J$N$G(B</div><div>$B<h$j5^$.(BWebAPI$B$rMxMQ$7$F$_$^$9!#(B</div><div><br></div><div>$B$4=u8@$"$j$,$H$&$4$6$$$^$7$?!#(B</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013$BG/(B9$B7n(B24$BF|(B 10:23 Yasuhide Kato <span dir="ltr">&lt;<a href="mailto:yasuzo100@gmail.com" target="_blank">yasuzo100@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
$B2CF#$H?=$7$^$9!#(B<br>
<br>
Fog(ruby)$B$J$i$P!"(B<br>
<a href="https://github.com/fog/fog/blob/master/lib/fog/cloudstack.rb" target="_blank">https://github.com/fog/fog/blob/master/lib/fog/cloudstack.rb</a><br>
$B$N$h$&$J=hM}!"(B<br>
<br>
cloudstack-python-client(Python)$B$J$i$P!"(B<br>
<a href="https://github.com/jasonhancock/cloudstack-python-client/blob/master/CloudStack/BaseClient.py" target="_blank">https://github.com/jasonhancock/cloudstack-python-client/blob/master/CloudStack/BaseClient.py</a><br>

$B$N$h$&$J=hM}(B<br>
<br>
$B$K$J$C$F$$$^$9!#(B<br>
$B$3$l$i$r;29M$K$9$k$+!"$3$N$h$&$J%i%$%V%i%j$rMxMQ$9$k$N$,!"F@:v$H;W$$$^$9!#(B<br>
<br>
<br>
<br>
2013$BG/(B9$B7n(B24$BF|(B 10:10 Nobumasa Yukutomi &lt;<a href="mailto:yukutomi@m.ieice.org">yukutomi@m.ieice.org</a>&gt;:<br>
&gt; $B1JLn$5$^(B<br>
&gt;<br>
&gt; $B9TIZ$G$9!#(B<br>
&gt;<br>
&gt; | $B$H$$$&$H$3$m$G$9$,!"BgJ8;z$r>.J8;z$KJQ$($k$N$O?M0YE*$KJQ$($k$H$$$&$3$H$G$7$g(B<br>
&gt; $B$&$+!#(B<br>
&gt;<br>
&gt; $B<jA`:n$9$k$H$-$O!"?ME*$K$J$k$+$b$7$l$^$;$s!#(B<br>
&gt; $B%W%m%0%i%`$GA`:n$5$l$k;v$r$*$9$9$a$7$^$9!#(B<br>
&gt;<br>
&gt; $B>0!"@53N$K$O!"0J2<<j=g$N$h$&$G$9!#(B<br>
&gt; Step 1: Make sure your APIKey is toLowerCased and URL encoded<br>
&gt; Step 2: toLowerCase all the parameters, URL encode each parameter value,<br>
&gt; and the sort the parameters<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; in alphabetical order<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Please note that if any parameters with a &#39;&amp;&#39; as a value<br>
&gt; will cause this test client to fail since<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; we are using &#39;&amp;&#39; to delimit the string<br>
&gt; Step 3: Construct the sorted URL and sign and URL encode the sorted URL<br>
&gt; with your secret key<br>
&gt; Step 4: Construct the final URL we want to send to the CloudStack<br>
&gt; Management Server<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Final result should look like:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http(s)://://client/api?&amp;apiKey=&amp;signature=<br>
&gt;<br>
&gt; $B$3$l$O!"(Bver 2.1$B$N;~Be$+$iJQ$o$j$^$;$s!#(B<br>
&gt;<br>
&gt; $B<h$j5^$.(B<br>
&gt;<br>
&gt;<br>
&gt; 2013$BG/(B 9$B7n(B 24$BF|!J2P!K(B09:21 $B$K(B Wantata222 $B$5$s$O=q$-$^$7$?!'(B<br>
&gt; | $B9TIZMM(B<br>
&gt; |<br>
&gt; | $B1JLn$G$9!#(B<br>
&gt; |<br>
&gt; | $B%"%I%P%$%9$"$j$,$H$&$4$6$$$^$7$?!#(B<br>
&gt; | $B%;%C%7%g%s%-!<$r%(%s%3!<%I$7$?$3$H$G(BlistAcconts$B$rI=<($G$-$^$7$?!#(B<br>
&gt; |<br>
&gt; | $B$J$*%a!<%kCf$K$"$j$^$7$?!"(B<br>
&gt; | $B!VB?J,$G$9$,!"(Bsignature$B$N:n@.J}K!$KLdBj$,$"$k$N$G$O$J$$$+$H9M$($^$9!#(B<br>
&gt; | signature$B$r:n$k$H$-$K(BAPIkey$B$NBgJ8;z$r>.J8;z$KJQ$($F$^$9$+!)!W(B<br>
&gt; | $B$H$$$&$H$3$m$G$9$,!"BgJ8;z$r>.J8;z$KJQ$($k$N$O?M0YE*$KJQ$($k$H$$$&$3$H$G$7$g(B<br>
&gt; $B$&$+!#(B<br>
&gt; |<br>
&gt; | $BM}2r$KK3$7$/?=$7Lu$4$6$$$^$;$s$,(B<br>
&gt; | $B@^3Q$465<(D:$$$?$3$H$r@5$7$/M}2r$G$-$l$P$H;W$C$F$*$j$^$9!#(B<br>
&gt; |<br>
&gt; | $B0J>e59$7$/$*4j$$CW$7$^$9!#(B<br>
&gt; |<br>
&gt; |<br>
&gt; |<br>
&gt; | 2013$BG/(B9$B7n(B24$BF|(B 7:33 Nobumasa Yukutomi &lt;<a href="mailto:yukutomi@m.ieice.org">yukutomi@m.ieice.org</a>&gt;:<br>
&gt; |<br>
&gt; |&gt; $B1JLn$5$^(B<br>
&gt; |&gt;<br>
&gt; |&gt; $B9TIZ$H?=$7$^$9!#(B<br>
&gt; |&gt;<br>
&gt; |&gt; $B$3$A$i$G!"(B4.1.1$B$K$F(B<br>
&gt; |&gt; listAccounts$B$r;n$7$^$7$?!#(B<br>
&gt; |&gt;<br>
&gt; |&gt; $BFC$KLdBj$J$/<hF@=PMh$^$7$?!#(B<br>
&gt; |&gt;<br>
&gt; |&gt; $BB?J,$G$9$,!"(Bsignature$B$N:n@.J}K!$KLdBj$,$"$k$N$G$O$J$$$+$H9M$($^$9!#(B<br>
&gt; |&gt; signature$B$r:n$k$H$-$K(BAPIkey$B$NBgJ8;z$r>.J8;z$KJQ$($F$^$9$+!)(B<br>
&gt; |&gt;<br>
&gt; |&gt; $B<B:](BAPI$B$rH/9T$9$k:]$K$O!"BgJ8;z>.J8;z:.$8$j$G9=$$$^$;$s$,(B<br>
&gt; |&gt; signature$B$r:n@.;~$K$O!"BgJ8;z$r>.J8;z$KJQ$($F2<$5$$!#(B<br>
&gt; |&gt;<br>
&gt; |&gt; $B$b$74{$K>e=R$5$l$F$$$?>l9g$K$O!"?=$7Lu$"$j$^$;$s!#(B<br>
&gt; |&gt;<br>
&gt; |&gt; $B$"$H!"5a$^$C$?(Bsignature$B$O!"(Burl$B%(%s%3!<%I$7$F$+$i$*;H$$2<$5$$!#(B<br>
&gt; |&gt;<br>
&gt; |&gt; $B<h$j5^$.(B<br>
&gt; |&gt;<br>
&gt; |&gt;<br>
&gt; |&gt;<br>
&gt; |&gt; 2013$BG/(B 9$B7n(B 23$BF|!J7n!K(B22:04 $B$K(B Wantata222 $B$5$s$O=q$-$^$7$?!'(B<br>
&gt; |&gt; | $BBg66MM(B<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B1JLn$G$9!#(B<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B2sEzD:$-$^$7$F$"$j$,$H$&$4$6$$$^$9!#(B<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B$42sEzD:$-$^$7$?DL$j$K$^$:$O(B<br>
&gt; |&gt; | command=login$B!A!A$r;n$7$F(Bsessionkey$B$r<hF@$G$-$k$3$H$r3NG'$7$^$7$?!#(B<br>
&gt; |&gt; | $B$J$N$G(B<a href="http://xn--ip:8080-sq4flhyfzp/client/api" target="_blank">http://IP$B%"%I%l%9(B:8080/client/api</a>&lt;http://xn--ip:8080-sq4flhyfzp/client/api&gt;&lt;http://xn--ip:8080-sq4flhyfzp<br>
&gt; |&gt; /client/api&gt;<br>
&gt; |&gt; | $B$N(BURI$B$,F0:n$G$-$F$$$k$3$H$O3NG'$G$-$^$7$?!#(B<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B$=$N8e$465<(D:$-$^$7$?(Bsessionkey$B$rIUM?$7$F(B<br>
&gt; |&gt; | $B!JN,!K(B/api?command=listAccounts&amp;sessionkey=$B!A(B&amp;apikey=$B!A(B&amp;signature=$B!A(B<br>
&gt; |&gt; | $B$H$7$?$H$3$m!"(B<br>
&gt; |&gt; | $B$^$?F1MM$N(B401$B$N%a%C%;!<%8$,=PNO$5$l$^$7$?!#(B<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B$A$J$_$K(Bapikey$B!"(Bsignature$B!"(Bsessionkey$B$O(Bencode$B$;$:$=$N$^$^E=$jIU$1$F$*$j(B<br>
&gt; $B$^(B<br>
&gt; |&gt; $B$9!#(B<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B!Z=PNO%a%C%;!<%8![(B<br>
&gt; |&gt; | &lt;listaccountsresponse cloud-stack-version=&quot;4.1.1&quot;&gt;<br>
&gt; |&gt; | &lt;errorcode&gt;401&lt;/errorcode&gt;<br>
&gt; |&gt; | &lt;errortext&gt;<br>
&gt; |&gt; | unable to verify user credentials and/or request signature<br>
&gt; |&gt; | &lt;/errortext&gt;<br>
&gt; |&gt; | &lt;/listaccountsresponse&gt;<br>
&gt; |&gt; |<br>
&gt; |&gt; | $B0J>e59$7$/$*4j$$CW$7$^$9!#(B<br>
&gt; |&gt; |<br>
&gt; |&gt; |<br>
&gt; |&gt; |<br>
&gt; |&gt; |<br>
&gt; |&gt; | 2013$BG/(B9$B7n(B23$BF|(B 21:23 Hiroki Ohashi &lt;<a href="mailto:silvernshell@gmail.com">silvernshell@gmail.com</a>&gt;:<br>
&gt; |&gt; |<br>
&gt; |&gt; |&gt; $B1JLn$5$s(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; $B$O$8$a$^$7$F!#(B<br>
&gt; |&gt; |&gt; $BBg66$H?=$7$^$9!#(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; CloudStack $B$N(B REST API $B$r;HMQ$9$k$H$-$K$O!":G=i$K0J2<$N$h$&$K(B login $B%3(B<br>
&gt; $B%^(B<br>
&gt; |&gt; $B%s%I$r(B<br>
&gt; |&gt; |&gt; $B<B9T$9$kI,MW$,$"$k$h$&$G$9!#(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; &nbsp; &nbsp; http://<br>
&gt; |&gt; |&gt; &lt;IP$B%"%I%l%9(B&gt;:8080/client/api?command=login&amp;username=&lt;$B%f!<%6L>(B&gt;&amp;passwor<br>
&gt; d=&lt;<br>
&gt; |&gt; $B%Q%9%o!<%I(B&gt;&amp;apikey=&lt;API$B%-!<(B&gt;&amp;signature=&lt;$B%7%0%M%A%c(B&gt;<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; login $B%3%^%s%I$N%l%9%]%s%9%X%C%@$K4^$^$l$k(B Cookie $B$H%\%G%#$K4^$^$l$k(B s<br>
&gt; ess<br>
&gt; |&gt; ionkey $B$r(B<br>
&gt; |&gt; |&gt; $B0J9_$N%3%^%s%I<B9T;~$KAw?.$9$k$H(B API $B$r8F$S=P$;$^$7$?!#(B<br>
&gt; |&gt; |&gt; $B%"%/%;%9$9$k(B URL $B$O0J2<$N$h$&$J46$8$G$9!#(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; &nbsp; &nbsp; http://<br>
&gt; |&gt; |&gt; &lt;IP$B%"%I%l%9(B&gt;:8080/client/api?command=&lt;$B%3%^%s%I(B&gt;(&amp;xxx=&lt;$B0z?t(B1&gt;&amp;...)&amp;sess<br>
&gt; ion<br>
&gt; |&gt; key=&lt;$B%;%C%7%g%s%-!<(B&gt;&amp;apikey=&lt;API$B%-!<(B&gt;&amp;signature=&lt;$B%7%0%M%A%c(B&gt;<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; $B%l%9%]%s%9$G<hF@$7$?%/%C%-!<$O%j%/%(%9%H$N%X%C%@$K4^$a$^$9!#(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; $B%m%0%$%s=hM}$,I,MW$J$N$O(B REST API $B$K%"%/%;%9$9$k%f!<%6$,$I$N%I%a%$%s$K(B<br>
&gt; $BB0(B<br>
&gt; |&gt; $B$9$k$+!"(B<br>
&gt; |&gt; |&gt; $B$^$?!"4IM}<T$G$"$k$+H]$+$K$h$C$F<B9T$G$-$k(B API $B$,0[$J$k$?$a$H;W$o$l$^(B<br>
&gt; $B$9!#(B<br>
&gt; |&gt; |&gt; Cookie $B$H(B sessionkey $B$NN>J}$H$bI,MW$J$N$+!"$I$A$i$+JRJ}$@$1$G$h$$$N$+(B<br>
&gt; $B$OD4(B<br>
&gt; |&gt; $B::ITB-$G(B<br>
&gt; |&gt; |&gt; $B$o$+$j$^$;$s!#(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; $B0J>e!"$4;29M$K$J$l$P9,$$$G$9!#(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; |&gt; $BBg66(B<br>
&gt; |&gt; |&gt;<br>
&gt; |&gt; | _______________________________________________<br>
&gt; |&gt; | users mailing list<br>
&gt; |&gt; | <a href="mailto:users@cloudstack.jp">users@cloudstack.jp</a><br>
&gt; |&gt; | <a href="http://ml.cloudstack.jp/mailman/listinfo/users" target="_blank">http://ml.cloudstack.jp/mailman/listinfo/users</a><br>
&gt; |&gt; |<br>
&gt; |&gt;<br>
&gt; |&gt;<br>
&gt; |&gt; ---<br>
&gt; |&gt; Nobumasa Yukutomi <a href="mailto:yukutomi@m.ieice.org">yukutomi@m.ieice.org</a><br>
&gt; |&gt; Cloud &nbsp; ID: &nbsp; &nbsp; &nbsp; &nbsp; = 92 21 37 42-0e f1-43 10 - 96 dd-c0 bf 33 9f ca 05<br>
&gt; |&gt; PGP6Key fingerprint = DE61 9B71 43E7 E999 BDE2 11DE 7187 B902 239E 74F7<br>
&gt; |&gt; Op &nbsp;SSL fingerprint = 9F 66 5A ED B3 1F BE 1C &nbsp; 02 99 F0 E3 E4 CE 84 74<br>
&gt; |&gt; Op &nbsp;SSL thumb-mark &nbsp;= 62F1 1323 B193 B686 5E47 E5FE DF11 B9DA 2152 8A99<br>
&gt; |&gt; SSLprxy fingerprint = A0 04 CA 35 E6 84 14 7D &nbsp; 99 42 74 1A D5 E4 7A 26<br>
&gt; |&gt; SSLprxy thumb-mark &nbsp;= 1315 9674 E866 55BA 9EC8 07AF A59A 8E75 C915 6CB0<br>
&gt; |&gt;<br>
&gt; |&gt; _______________________________________________<br>
&gt; |&gt; users mailing list<br>
&gt; |&gt; <a href="mailto:users@cloudstack.jp">users@cloudstack.jp</a><br>
&gt; |&gt; <a href="http://ml.cloudstack.jp/mailman/listinfo/users" target="_blank">http://ml.cloudstack.jp/mailman/listinfo/users</a><br>
&gt; |&gt;<br>
&gt; |<br>
&gt;<br>
&gt;<br>
&gt; ---<br>
&gt; Nobumasa Yukutomi <a href="mailto:yukutomi@m.ieice.org">yukutomi@m.ieice.org</a><br>
&gt; Cloud &nbsp; ID: &nbsp; &nbsp; &nbsp; &nbsp; = 92 21 37 42-0e f1-43 10 - 96 dd-c0 bf 33 9f ca 05<br>
&gt; PGP6Key fingerprint = DE61 9B71 43E7 E999 BDE2 11DE 7187 B902 239E 74F7<br>
&gt; Op &nbsp;SSL fingerprint = 9F 66 5A ED B3 1F BE 1C &nbsp; 02 99 F0 E3 E4 CE 84 74<br>
&gt; Op &nbsp;SSL thumb-mark &nbsp;= 62F1 1323 B193 B686 5E47 E5FE DF11 B9DA 2152 8A99<br>
&gt; SSLprxy fingerprint = A0 04 CA 35 E6 84 14 7D &nbsp; 99 42 74 1A D5 E4 7A 26<br>
&gt; SSLprxy thumb-mark &nbsp;= 1315 9674 E866 55BA 9EC8 07AF A59A 8E75 C915 6CB0<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; users mailing list<br>
&gt; <a href="mailto:users@cloudstack.jp">users@cloudstack.jp</a><br>
&gt; <a href="http://ml.cloudstack.jp/mailman/listinfo/users" target="_blank">http://ml.cloudstack.jp/mailman/listinfo/users</a><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Yasuhide Kato<br>
@yasuzo100<br>
@yassan1000<br>
</font></span></blockquote></div><br></div>