获取小程序 URL Link,适用于短信、邮件、网页、微信内等拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久有效的小程序链接,有数量限制,目前仅针对国内非个人主体的小程序开放
1、 获取接口凭证ACCESS_TOKEN
2、请求地址
POST https://api.weixin.qq.com/wxa/generate_urllink?access_token=ACCESS_TOKEN
3、请求参数
access_token 接口调用凭证
path 通过 URL Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query 。path 为空时会跳转小程序主页
query 通过 URL Link 进入小程序时的query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%
4、成功返回结果
{ "errcode": 0, "errmsg": "ok", "url_link": "URL Link" }
5、Demo例子
//获取商品分享短地址 public function getLink(Request $request){ $id = $request->id; $uid = $request->uid; //获取getAccessToken $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.Env('APPID').'&secret='.Env('APPSECRET'); $result =$this->curlRequest($url); $result =json_decode($result,true); //获取二维码 $codeurl = 'https://api.weixin.qq.com/wxa/generate_urllink?access_token='.$result['access_token']; $param = [ 'path'=>'/pages/goods/detail', 'query'=>'id='.$id.'&uid='.$uid, ]; $data = $this->curlRequest($codeurl,json_encode($param)); $res = json_decode($data,true); if ($res['errcode'] == 0) { return $this->jsonData(ApiErrDesc::SUCCESS[0],ApiErrDesc::SUCCESS[1],$res['url_link']); }else{ return $this->jsonData(ApiErrDesc::SUCCESS[0],ApiErrDesc::SUCCESS[1],'获取失败'); } } /** * 使用curl方式实现get或post请求 * @param $url 请求的url地址 * @param $data 发送的post数据 如果为空则为get方式请求 * return 请求后获取到的数据 */ public function curlRequest($url, $data = '') { $ch = curl_init(); $params[CURLOPT_URL] = $url; //请求url地址 $params[CURLOPT_HEADER] = false; //是否返回响应头信息 $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回 $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向 $params[CURLOPT_TIMEOUT] = 30; //超时时间 if (!empty($data)) { $params[CURLOPT_POST] = true; $params[CURLOPT_POSTFIELDS] = $data; } $params[CURLOPT_SSL_VERIFYPEER] = false;//请求https时设置,还有其他解决方案 $params[CURLOPT_SSL_VERIFYHOST] = false;//请求https时,其他方案查看其他博文 curl_setopt_array($ch, $params); //传入curl参数 $content = curl_exec($ch); //执行 curl_close($ch); //关闭连接 return $content; }
文章评论(0)