返回顶部
首页 > 问答 > 后端 > php微信分享链接怎么弄
0
已解决

php微信分享链接怎么弄

  • 匿名发布
  • 2023-05-08
  • 发布在 问答/后端
9

最佳答案

mikko0313

2023-05-09 01:57:32

  1. 获取access_token 访问微信公众平台,申请开发者账号,创建一个公众号,获取AppID和AppSecret。 通过https请求方式,向以下URL发送请求,即可获得access_token: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 其中APPID和APPSECRET是创建公众号时获得的,该请求方式在WeChat官网有详细介绍,可以参考官网。

  2. 生成JS-SDK权限验证的签名 向以下URL发GET请求获取jsapi_ticket: https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=ACCESS_TOKEN 该请求成功后会返回下面的JSON数据格式: { "errcode":0, "errmsg":"ok", "ticket":"kgt8ON7yVITDhtdwci0qeY6HX5zfjk0z7yT7TpzmQzteAeVytSjSZdWmLplNe6R0GDgozON06VYJSTqtYKcsdQ", "expires_in":7200 } 其中errcode为0时代表请求成功,ticket为返回的JS-SDK权限验证的签名。expires_in为失效时间,单位为秒,即7200秒(2小时)后ticket则会失效。

  3. 生成noncestr和timestamp noncestr是16位的随机字符串,timestamp是当前的时间戳,以秒为单位。

  4. 生成签名signature signature是通过对noncestr、timestamp、url、jsapi_ticket进行SHA-1签名算法得到的16进制字符串。url为当前页面的URL,不包含#及其后面部分。

  5. JS代码实现 在PHP代码中,可以使用相关函数进行请求操作和生成signature的计算。以下是一个简单示例:

    
    //获取access_token
    function getAccessToken($appid, $appsecret){
     $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
     $output = curl_exec($ch);
     curl_close($ch);
     $jsoninfo = json_decode($output, true);
     $access_token = $jsoninfo["access_token"];
     return $access_token;
    }

//生成jsapi_ticket function getJsApiTicket($access_token){ $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=".$access_token; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $output = curl_exec($ch); curl_close($ch); $jsoninfo = json_decode($output, true); $ticket = $jsoninfo["ticket"]; return $ticket; }

//生成随机字符串 function createNonceStr($length = 16){ $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str = ""; for ($i = 0; $i < $length; $i++){ $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str; }

//生成签名signature function getSignature($jsapi_ticket, $noncestr, $timestamp, $url){ $string = "jsapi_ticket=".$jsapi_ticket."&noncestr=".$noncestr."&timestamp=".$timestamp."&url=".$url; $signature = sha1($string); return $signature; }

//调用示例 $appid = "你的AppID"; $appsecret = "你的AppSecret"; $url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; $access_token = getAccessToken($appid, $appsecret); $jsapi_ticket = getJsApiTicket($access_token); $noncestr = createNonceStr(); $timestamp = time(); $signature = getSignature($jsapi_ticket, $noncestr, $timestamp, $url);

//输出结果 echo "noncestr:".$noncestr."
"; echo "timestamp:".$timestamp."
"; echo "signature:".$signature."
";

其他回答1

海南之南001w

2023-05-12

PHP微信分享链接的实现需要使用微信JS-SDK和PHP后端代码。

步骤一:在微信公众平台申请JS-SDK权限,并获取appId和appSecret。

步骤二:在需要分享的页面引入微信JS-SDK,并通过config接口进行配置,包括appId、timestamp、nonceStr和signature等参数的设置。

步骤三:通过分享接口,使用onMenuShareTimeline和onMenuShareAppMessage接口设置分享内容,包括分享标题、描述、链接和缩略图等。

步骤四:在PHP后端代码中,根据请求参数生成签名,包括noncestr、timestamp、url和jsapi_ticket等参数的设置。

步骤五:返回生成的签名和appId等参数给前端页面,使前端页面能够调用微信JS-SDK进行分享。

相关问题
2

回答

99+

浏览

2

回答

99+

浏览

2

回答

99+

浏览

2023-05-08提问
2

回答

99+

浏览

2023-05-09提问
2

回答

99+

浏览

2023-05-09提问
2

回答

99+

浏览

2023-05-08提问
2

回答

99+

浏览

2

回答

99+

浏览

2023-05-09提问
2

回答

99+

浏览

2

回答

99+

浏览

相关文章
  • (分享链接制作)防封,微信文章分享活动推广链接制作
    据《微信外部链接内容管理规范》显示,微信平台禁止通过利益诱惑,诱导用户分享、传播外链内容或者微信公众帐号文章,包括现金奖励、实物奖品、虚拟奖品、集赞、拼团、分享可增加抽奖机会等。 微信方面表示,一旦发现违规行为将进行处理,包括停止链接内容在...
    99+
    标签:
  • php的H5网页端如何分享到微信中带图片和缩略图-微信卡片式分享-微信分享链接带图片
    php的H5网页端如何分享到微信中带图片和缩略图 首先先去公众号获取id和添加IP白名单 在这里插入图片描述 好了废话不多说直接上代码 ...
    99+
    标签:
    php 微信 开发语言
  • 微信小程序如何获取分享链接
    小编给大家分享一下微信小程序如何获取分享链接,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!API层面onShareAppMessage小程序如果想对外分享,必须在 page 里面定义 onSh...
    99+
    标签:
  • Android应用中怎么接入微信分享功能
    今天就跟大家聊聊有关Android应用中怎么接入微信分享功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。注册应用信息并下载必要工具在微信开放平台注册应用信息下载 签名生成工具获取待...
    99+
    标签:
    android
  • 怎么封装JS微信分享
    本篇内容主要讲解“怎么封装JS微信分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么封装JS微信分享”吧!我的思路:1.可以分享到四个地方QQ,朋友,朋友圈...
    99+
    标签:
  • 微信小程序直播如何获取分享卡片链接参数
    这篇文章主要介绍“微信小程序直播如何获取分享卡片链接参数”,在日常操作中,相信很多人在微信小程序直播如何获取分享卡片链接参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序直播如何获取分享卡片链接参数...
    99+
    标签:
  • 怎么提取微信小程序的链接
    要提取微信小程序的链接,可以按照以下步骤进行操作:1. 打开微信,进入需要提取链接的小程序。2. 在小程序页面上方的标题栏中,点击右...
    99+
    标签:
    微信小程序
  • 微信小程序怎么使用蓝牙链接
    小编给大家分享一下微信小程序怎么使用蓝牙链接,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序之蓝牙的链接微信小程序蓝牙连...
    99+
    标签:
  • 怎么在Html5中实现微信分享功能
    这期内容当中小编将会给大家带来有关怎么在Html5中实现微信分享功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、安装 weixin-js-sdknpm install weixin-js-...
    99+
    标签:
  • 用微信分享转发线下活动营销推广页面链接的防封方案
    朋友公司专业做互联网行业,其中就有做文案推广的,就是那种文字,图像,再加二维码,这样的推广形象、明了,而他们的客户也是多种多样的,其中线下活动、展会文案,减肥的、祛斑的、美白的,等火暴至极。但是问题来了,通过微信分享裂变出去但是微信直接一刀...
    99+
    标签:
  • UC浏览器,QQ浏览器,百度app信息流分享链接到微信朋友圈原理解析
    首先支持uc浏览器和qq浏览器,百度浏览器和百度app这些渠道,打开链接会提示分享到微信朋友圈,文字和链接完全可以自定义,这样就可以通过外部渠道跳转到微信打开对应网站。举例网络小说,大家并不陌生,如今人手一部智能手机,阅读小说也是非常方便的...
    99+
    标签:
  • web网络链接被微信停止访问怎么解决
    本篇内容介绍了“web网络链接被微信停止访问怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.域名被微信拦截的因素举报。包括用户举报...
    99+
    标签:
  • 域名链接被微信封杀拦截屏蔽怎么办
    这篇文章给大家分享的是有关域名链接被微信封杀拦截屏蔽怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.域名被微信拦截的因素举报。包括用户举报,同行恶意举报,提交微信团队检测后进行封杀。转发量过大。转发也是提...
    99+
    标签:
  • 使用Android怎么实现app分享文件到微信
    使用Android怎么实现app分享文件到微信?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。两种实现方案:使用WXFileObject构造分享方法发送到微信;2...
    99+
    标签:
  • PHP请求微信域名检测接口官方API的详解与示例分享
    微信域名检测接口API是腾讯官方对外公布的域名查询接口,请求接口可实时查询域名在微信种的状态信息。如果状态异常则返回结果提示“域名被封”,如果未有异常则返回结果提示“域名正常”。微信域名检测接口https://wx.horocn.com/应...
    99+
    标签:
  • vue实现将自己网站(h5链接)分享到微信中形成小卡片的超详细教程
    目录最新更新前言准备工作前端业务实现(超详细)后端代码实现(超详细)总结最新更新 2022年12月24日23:58:30 发现了个问题,解决了好久,问题如下: 当我直接将链接发送到微...
    99+
    标签:
    vue 分享到微信 vue如何分享到微信 vue 分享
  • 微信JS-SDK中updateAppMessageShareData安卓不能自定义分享怎么办
    这篇文章主要介绍了微信JS-SDK中updateAppMessageShareData安卓不能自定义分享怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大...
    99+
    标签:
  • ThinkPHP5怎么集成JS-SDK实现微信自定义分享功能
    今天小编给大家分享一下ThinkPHP5怎么集成JS-SDK实现微信自定义分享功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    标签:
  • 怎么在HTML5中实现外部浏览器唤起微信分享
    本篇文章为大家展示了怎么在HTML5中实现外部浏览器唤起微信分享,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。html部分:<script src="mshare.js&q...
    99+
    标签:
  • Flutter实现仿微信分享功能的示例代码怎么写
    这期内容当中小编将会给大家带来有关Flutter实现仿微信分享功能的示例代码怎么写,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Flutter 用来快速开发 Android iOS平台应用,在Flutte...
    99+
    标签:
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作