php对接阿里巴巴开放平台
function getResult($api, $accessToken,$appKey,$appSecret $params)
{
$arr = explode(':', $api);
$spaceName = $arr[0];
$arr = explode('-', $arr[1]);
$version = $arr[1];
$apiName = $arr[0];
$urlInfo = 'param2/' . $version . '/' . $spaceName . '/' . $apiName . '/';
$apiInfo = $urlInfo . $appKey;
$codeArr = array_merge($params, [
'access_token' => $accessToken,
]);
foreach ($codeArr as &$v) {
if (is_array($v)) {
$v = json_encode($v);
}
}
$urlPin = urldecode(http_build_query($codeArr));
ksort($codeArr);
$signStr = urldecode(http_build_query($codeArr));
$signStr = str_replace('&', '', $signStr);
$signStr = str_replace('=', '', $signStr);
$signStr = $apiInfo . $signStr;
$codeSign = strtoupper(bin2hex(hash_hmac("sha1", $signStr, $appSecret, true)));
$requestUrl = 'http://gw.open.1688.com/openapi/' . $apiInfo . '?' . rawurlencode($urlPin) . '&_aop_signature=' . $codeSign;
$requestUrl = str_replace('%3D', '=', $requestUrl);
$requestUrl = str_replace('%26', '&', $requestUrl);
$curl = curl_init($requestUrl);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($curl);
curl_close($curl);
$response = json_decode($response, true);
return $response;
}