接口地址拼合成功后,用curl函数post获取阿里返回的完整数据,将地址传入getContent()方法中,绝对能获取用户数据。
public function getContent($url)
{
$ch = curl_init();// 初始化
curl_setopt($ch,CURLOPT_URL,$apiprourlall);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS, "");
$data=curl_exec($ch);
curl_close($ch);
echo $data;
}
发布产品实例
接口地址 http://gw.open.1688.com:80/openapi/param2/1/cn.alibaba.open/offer.new
首先,咱们得授权一下,返回code,通过code获取access_token授权令牌。
//假设这里的授权令牌已经算出
$appKey = 1000000;
$appSecret =”test123“;
$access_token = “HMKSwKPeSHB7Zk7712OfC2Gn1-kkfVsaM-P”;//授权令牌
$apiprourl="http://gw.open.1688.com:80/openapi/";
$apiproparam="param2/1/cn.alibaba.open/offer.new/{$appKey}"; //发布产品接口地址
$offerparam = $_POST['offerparam'];//发布产品必须带的参数
//描述offer的json串,需要进行URLEncode 编码,编码方式为GBK
$proparam =urlencode(iconv("UTF-8","GBK",$offerparam));
//产品接口url必须要带这两参数offer和access_token
//如offer={“subject”:"标题","categoryID":"1037264"}
$apiproparam1="offer={$proparam}&access_token={$access_token}";
//去掉=相关参数,进行排序,这里就两参数,字母排序一看就出来了,a开头的在前$apiproparam2="access_token{$access_token}offer{$offerparam}";
//$appprosignature 算签名
$appprosignature=strtoupper(bin2hex(hash_hmac("sha1", $apiproparam.$apiproparam2, $appSecret, true)));
//最后的接口调用地址
$apiprourlall=$apiprourl.$apiproparam.'?'.$apiproparam1.'&access_token='.$access_token.'&_aop_signature='.$appprosignature;
//通过getContent()获取返回内容
getContent($apiprourlall);