ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

06_virtualization:04_cloudstack:02_simple_php_for_output_api_url

02 API URLを出力するシンプルなPHP

※signature生成時の注意点

  • パラメータ引数は、全て小文字に変換する必要があります。
  • パラメータ引数にスペースが含まれている場合は、「%20」に変換する必要がある。
    rawurlencodeの部分で行っている。 01 URLエンコード(urlencode, rawurlencode)
<?php
 
$api_key = &#039;API キー&#039;;
$sak     = &#039;秘密鍵&#039;;
$command  = &#039;listVirtualMachines&#039;;
$url     = &#039;https://hogehoge.com/client/api?&#039;;
 
$params = array(
                &#039;response&#039;        => &#039;json&#039;,
                &#039;command&#039;        => $command,
		        &#039;apikey&#039;        => $api_key,
                );
 
$query_str = &#039;&#039;;
ksort($params);
foreach($params as $k => $v){
        $query_str .= urlencode($k) . "=" . rawurlencode($v) . "&";
}
 
$query_str = rtrim($query_str, "&");
 
#echo strtolower($query_str)."\n";
$sig = base64_encode(hash_hmac ( &#039;sha1&#039; , strtolower($query_str), $sak, true));
 
$final = $url . $query_str . "&signature=" . urlencode($sig);
echo "API URL: $final \n";
?>
06_virtualization/04_cloudstack/02_simple_php_for_output_api_url.txt · 最終更新: 2014/07/04 13:40 by matsui