当前位置: 首页 > 后端技术 > PHP

途虎GPS接口调用

时间:2023-03-30 02:17:47 PHP

最近有个项目需要连接TuhugcGPS。这里我写了一个demo,方便我们调用TuhugcGPS的相关接口。:'application/x-www-form-urlencoded'];/***@varstringexpiresaccess_token失效事件*/public$expires='7200';公共函数__construct($api_url,$data=[],$method='POST'){$this->access_token=Yii::$app->cache->get('tuhu_access_token');$this->data=['appKey'=>$this->app_key,'v'=>'1.0','timestamp'=>date('Y-m-dH:i:s'),'signMethod'=>'md5','格式'=>'json',];如果(空($this->access_token)){$this->access_token=$this->getAccessToken();}if($data){$this->data=ArrayHelper::merge($this->data,$data);$this->url=$this->url。$api_url;}/***调用路由狐接口*/publicfunctioncurl(){$sign=$this->signMd5($this->data);$this->data['sign']=$sign;$this->header['X-Access-Token']=$this->access_token;$客户=新客户();$response=$client->createRequest()->setMethod($this->method)//请请求方式->setUrl($this->url)//请请求地址->setData($this->data)->setHeaders($this->header)->send();如果($response->isOk){$result=isset($response->data['result'])?$响应->数据['结果']:[];返回$结果;}Yii::$app->cache->delete('tuhu_access_token');返回假;}publicfunctiongetAccessToken(){$data=$this->data;$url=$this->url。'/v1/令牌/获取';//私有参数$data['userId']=$this->user_id;$data['expiresIn']=$this->expires;$sign=$this->signMd5($data);$data['sign']=$sign;$客户=新客户();$response=$client->createRequest()->setMethod('POST')//请请求方式->setUrl($url)//请请求地址->setData($data)->setHeaders($this->header)->发送();$accessToken=isset($response->data['result']['accessToken'])?$response->data['result']['accessToken']:'';如果($accessToken){Yii::$app->cache->set('tuhu_access_token',$accessToken,$this->expires);返回$accessToken;}返回'';}/***md5signature*/publicfunctionsignMd5($data){//获取待签名字符串ksort($data);重置($数据);$查询='';foreach($dataas$key=>$value){$query.=$key.$值;$sign=$this->app_secret。$查询。$this->app_secret;//签名返回strtoupper(md5($sign));}}需要把demo中的url,app_key,app_secret,user_id改成可以用TuhuGPSdemo简单例子回车GPS车辆实时定位$tuhu=newTuhu('/v1/device/location/list',['userId'=>'用户ID','mapType'=>'GOOGLE',//GOOGLE/BAIDU]);$data=$tuhu->curl();如上即可获取实时GPS车辆定位,其他相关接口调用方法可参考上述