阿里API调用二(PHP)

接口地址拼合成功后,用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);

  

posted @ 2014-07-13 10:01  leisir  阅读(1255)  评论(0)    收藏  举报