阿里API调用一(PHP)

阿里的开放平台地址 http://open.1688.com

PAI文档地址 http://open.1688.com/doc/api/cn/description.htm?ns=cn.alibaba.open

阿里调用接口测试版,首先要授权,api文档中有授权地址(http://gw.open.1688.com/auth/authorize.htm?client_id=xxx&site=china&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_PARM&_aop_signature=SIGENATURE),根据需要填入相应的参数,api文档中有参数介绍。其中需要自己算的是签名(aop_signature)。

签名算法文档中也有相应的代码。

 

                //生成签名
		public function Signature($param=array())
		{
                //param为其他参数,调用不同接口,参数也不同。参数会随之加入签名计算
		    $appKey = $this->appKey;
    		    $appSecret = $this->appSecret;
		    $redirectUrl = $this->redirectUrl;
		    //生成签名
		    $code_arr = array(
		        'client_id' => $appKey,
		        'redirect_uri' => $redirectUrl,
		        'site' => 'china'
		    );
		    if(!empty($param)){
		    	$code_arr[]=$param;
		    }
		    ksort($code_arr);
		    foreach ($code_arr as $key=>$val)
		    {
		        @$sign_str .= $key . $val;
		    }
		    $code_sign = strtoupper(bin2hex(hash_hmac("sha1", $sign_str, $appSecret, true)));
		    return $code_sign;
		}
            

 把生成的签名加入授权地址中,最后拼成一个完整的PAI授权地址。访问地址如下

授权后返回的页面是你自己设置的地址,也就是授权地址中的redirect_uri参数。返回code参数附加在地址后面,可通过get获取。通过code获取令牌。    

临牌获取的方式有两种,一种是手动提交表单获取,一种是curl方式获取。        
通过令牌可以访问用户资料。如下图接口返回信息

                                                            

posted @ 2014-07-06 15:09  leisir  阅读(2683)  评论(1)    收藏  举报