微信小程序生成URL短地址urllink.generate

2021-11-01   阅读:1217   分类:后端    标签: 微信小程序

获取小程序 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;
}


【腾讯云】618采购季来袭!爆款云服务器18元起,参与活动享多重好礼

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/847.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸 头像

简忆博客
勤于学习,乐于分享。

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×