途狐GPS接口调用

?
最近有一个项目需要对接途狐GPS,这里我写了一个demo,方便我们来调用途狐GPS的相关接口
途狐GPS接口文档:http://opendoc.tuhugc.com/thg...
途狐GPSdemo:

'application/x-www-form-urlencoded' ]; /** * @var string expires access_token失效事件 */ public $expires = '7200'; public function __construct($api_url, $data = https://www.it610.com/article/[], $method ='POST') {$this->access_token = Yii::$app->cache->get('tuhu_access_token'); $this->data = https://www.it610.com/article/['appKey' => $this->app_key, 'v' => '1.0', 'timestamp' => date('Y-m-d H:i:s'), 'signMethod' => 'md5', 'format' => 'json', ]; if (empty($this->access_token)) { $this->access_token = $this->getAccessToken(); } if ($data) { $this->data = https://www.it610.com/article/ArrayHelper::merge($this->data, $data); } $this->url = $this->url . $api_url; }/** * 调用途狐接口 */ public function curl() { $sign = $this->signMd5($this->data); $this->data['sign'] = $sign; $this->header['X-Access-Token'] = $this->access_token; $client = new Client(); $response = $client->createRequest() ->setMethod($this->method) // 请求方式 ->setUrl($this->url)// 请求地址 ->setData($this->data) ->setHeaders($this->header) ->send(); if ($response->isOk) { $result = isset($response->data['result']) ? $response->data['result'] : []; return $result; }Yii::$app->cache->delete('tuhu_access_token'); return false; }public function getAccessToken() { $data = https://www.it610.com/article/$this->data; $url = $this->url . '/v1/token/get'; //私有参数 $data['userId'] = $this->user_id; $data['expiresIn'] = $this->expires; $sign = $this->signMd5($data); $data['sign'] = $sign; $client = new Client(); $response = $client->createRequest() ->setMethod('POST') // 请求方式 ->setUrl($url)// 请求地址 ->setData($data) ->setHeaders($this->header) ->send(); $accessToken = isset($response->data['result']['accessToken']) ? $response->data['result']['accessToken'] : ''; if ($accessToken) { Yii::$app->cache->set('tuhu_access_token', $accessToken, $this->expires); return $accessToken; }return ''; }/** * md5签名 */ public function signMd5($data) { //获取待签名字符串 ksort($data); reset($data); $query = ''; foreach ($data as $key => $value) { $query .= $key . $value; }$sign = $this->app_secret . $query . $this->app_secret; //签名 return strtoupper(md5($sign)); }}

【途狐GPS接口调用】需要将demo中url,app_key,app_secret,user_id改成您自己的即可
使用途狐GPSdemo简单示例
回去GPS车辆实时定位
$tuhu = new Tuhu('/v1/device/location/list', [ 'userId' => '用户ID', 'mapType' => 'GOOGLE',//GOOGLE/BAIDU ]); $data = https://www.it610.com/article/$tuhu->curl();

如上既可以获取到GPS车辆实时定位,其他相关接口调用方式参照如上即可

    推荐阅读