开心网[组件实验室] 中session key怎么获取
青衣醉蜀 2010-12-15 10:39:38 文档上说:“在申请组件时填写的组件首页里,用 get 方法获取参数名为 session_key 的参数。”
但是始终获取不到session key
跪求:如何获取session key( 组件实验室)
这是根据文档写的:
<?php
$api_key = '**************************';
$secret = ************************;
$url = 'http://rest.kaixin001.com/api/rest.php';
*
$session_key = $_GET['kx_session_key'];
print_r("获取GET参数".$_GET."<br>");
if (empty($session_key)) {
$session_key = $_COOKIE["kx_session_key"];
}else{
setcookie("kx_session_key",$session_key, time()+3600*4);
//setcookie("kx_session_key",$session_key, time()+3600*4);
}
$param = array(
'api_key' => $api_key,
'method' => 'users.getInfo',
'uids' => '100099,100100',
'format' => 'json',
'session_key' => $session_key,
);
$query = buildQuery($param, $secret);
$result = postRequest($url, $query);
$result = json_decode($result);
print_r($result);
function buildQuery($param, $secret) {
$param['call_id'] = microtime(true);
$param['v'] = '1.0';
ksort($param);
$request_str = '';
foreach ($param as $key => $value) {
$request_str .= $key . '=' . $value; //没有分割符
}
$sig = $request_str . $secret;
$sig = md5($sig);
$param['sig'] = $sig;
$query = http_build_query($param);
return $query;
}
function postRequest($url, $post_string) {
$useragent = 'kaixin001.com API PHP5 Client 1.1 (curl) ' . phpversion();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if (strlen($post_string) >= 3) { curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); }
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function url_base64_encode($str)
{
$search = array ('+', '/');
$replace = array ('*', '-');
$basestr = base64_encode($str);
return str_replace( $search, $replace, $basestr );
}
?>