ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



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 = 'API キー';
$sak     = '秘密鍵';
$command  = 'listVirtualMachines';
$url     = 'https://hogehoge.com/client/api?';
 
$params = array(
                'response'        => 'json',
                'command'        => $command,
		        'apikey'        => $api_key,
                );
 
$query_str = '';
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 ( 'sha1' , 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