获取token并调用开放平台接口

53 阅读1分钟
<?

function getSign($params, $appSecret) {
    $params['app_secret'] = $appSecret;
    ksort($params);
    $queryString = http_build_query($params);
    return md5($queryString);
}

function getToken($appId, $appSecret, $time) {
    $url = "http://tdrj.tpddns.cn:1025/api/admin/user/login";  
    $params = [
        'app_id' => $appId,
        'time' => $time
    ];
    
    // 生成 sign
    $sign = getSign($params, $appSecret);
    
    // 将 sign 添加到参数中
    $params['sign'] = $sign;
    
    // 初始化 cURL
    $ch = curl_init($url);
    
    // 设置 cURL 选项
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'AuthType: Integration'
    ]);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
    
    $response = curl_exec($ch);
	$tokenData=json_decode($response,true);
	$token = $tokenData['data']['access_token'] ?? null; 
	return $token;

    curl_close($ch);
}




function callUserMsgApi($token, $params) {
    $url = "http://tdrj.tpddns.cn:1025/api/flow/FlowManager/workQuery";

    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'AuthType: Integration',
	'UserId:1',//用户id
        'AccessToken: ' . $token
    ]);
	
    curl_setopt($ch, CURLOPT_POSTFIELDS,$params);

    $r= curl_exec($ch);
	return $r;

    curl_close($ch);
}
 
// 示例参数
$appId = "9tWhbjSZfDlaAo0n";
$appSecret = '#nv9bFHXTasZ$PKG1rf6uDjJUQc84i'; // 替换为实际的 app_secret
$time = time(); // 示例时间戳,可以动态生成
 
// 获取 Token
$token = getToken($appId, $appSecret, $time);

$getData = '{"filter":{"flow_data":{},"desc_OP":"like","type_OP":"like","run_name_OP":"like","create_time_OP":[">","<"],"update_time_OP":[">","<"]},"search_OP":"like","sort":{"update_time":"DESC"},"limit":10,"page":1,"search":"亮","flow_cate_id":""}'; 
$a=json_decode($getData,true);
print_r($a);
$r=callUserMsgApi($token, $getData);

print_r(json_decode($r));