如何使用微信JS-SDK实际分享功能

2025-05-29 08:48:07

1、登录你的微信平台,点击“公众号设置”。

如何使用微信JS-SDK实际分享功能
如何使用微信JS-SDK实际分享功能

2、点击“功能设置”,然后点击“设置”。

如何使用微信JS-SDK实际分享功能

3、设置JS接口安全域名。这里填写的是一级域名,不带www和http。最多可以设置三个域名。设置完后点击确定。(多说一句,相比以前的分享没有任何域名限制,这里设置安全域名,目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这些链接增加的粉丝。这样,微信就可以牢牢控制了你的微信平台,一旦发现违规,让分享链接失效,删除掉诱导行为增加的粉丝,是瞬间就可以完成的。因此,微信平台的开发者,一定要合理来使用分享功能,不要因小失大。等到你的微信平台被封,估计哭都来不及)

如何使用微信JS-SDK实际分享功能
如何使用微信JS-SDK实际分享功能

4、在开发者中心中获取你的AppID和AppSecret,接下来在获取令牌时,需要这两个信息。

如何使用微信JS-SDK实际分享功能

5、获取令牌。在服务器端完成,代码如下:function wx_get_token() { $token = S('access_token'); if (!$token) { $res = file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' .'你的AppID'.'&secret=' .'你的AppSecret'); $res = json_decode($res, true); $token = $res['access_token']; // 注意:这里需要将获取到的token缓存起来(或写到数据库中) // 不能频繁的访问https://api.weixin.qq.com/cgi-bin/token,每日有次数限制 // 通过此接口返回的token的有效期目前为2小时。令牌失效后,JS-SDK也就不能用了。 // 因此,这里将token值缓存1小时,比2小时小。缓存失效后,再从接口获取新的token,这样 // 就可以避免token失效。 // S()是ThinkPhp的缓存函数,如果使用的是不ThinkPhp框架,可以使用你的缓存函数,或使用数据库来保存。 S('access_token', $token, 3600); } return $token;}注意:返回的access_token长度至少要留够512字节。接口返回值:{"access_token":"ACCESS_TOKEN","expires_in":7200}{"access_token":"vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4","expires_in":7200}

如何使用微信JS-SDK实际分享功能

6、获取jsapi的ticket。jsapi_tic氯短赤亻ket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_t足毂忍珩icket的有效期为7200秒,通过access_token来获取。function wx_get_jsapi_ticket(){ $ticket = ""; do{ $ticket = S('wx_ticket'); if (!empty($ticket)) { break; } $token = S('access_token'); if (empty($token)){ wx_get_token(); } $token = S('access_token'); if (empty($token)) { logErr("get access token error."); break; } $url2 = sprintf("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=%s&type=jsapi", $token); $res = file_get_contents($url2); $res = json_decode($res, true); $ticket = $res['ticket']; // 注意:这里需要将获取到的ticket缓存起来(或写到数据库中) // ticket和token一样,不能频繁的访问接口来获取,在每次获取后,我们把它保存起来。 S('wx_ticket', $ticket, 3600); }while(0); return $ticket;}接口返回值:{"errcode":0,"errmsg":"ok","ticket":"sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg","expires_in":7200}

如何使用微信JS-SDK实际分享功能

7、签名,将jsapi_ticket、noncestr、timestamp、分享的url按字母顺序连接起来,进行sha1签名。noncestr是你设置的任意字符串。timestamp为时间戳。 $timestamp = time(); $wxnonceStr = "任意字符串"; $wxticket = wx_get_jsapi_ticket(); $wxOri = sprintf("jsapi_ticket=%s&noncestr=%s&timestamp=%s&url=%s", $wxticket, $wxnonceStr, $timestamp, '要分享的url(从http开始,如果有参数,包含参数)' ); $wxSha1 = sha1($wxOri);

如何使用微信JS-SDK实际分享功能
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢