微信公众号开发 自定义分享 从前台到Java后台 调用微信JS接口分享朋友圈

20180811写在前面的话

有很多人遇到问题之后问我,结果大多数是因为配置问题,所以请详细阅读前面的配置步骤。

 

20181016注意事项

收到反馈,之前写的接口即将废弃,源代码中的js接口需要修改,详情请参考https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115中的分享接口,需要修改接口名称和参数列表。

 

文中源码下载地址

https://download.csdn.net/download/shrmuscles/10611245

上面这个地址是我当时做的整个项目的源代码,包含了一些业务在里面,用的是SSM框架,现在写了一个SpringBoot版本的,只有页面分享的代码,不包含业务的代码,简单清晰。另外,在官方文档中看到,以前写的分享接口即将废弃,并且给上了新的接口,代码中的接口用的是以前的接口,所以下载之后建议修改成新的接口

20200408看到20200401有人给我发私信说上面的代码没有数据库脚本,非常抱歉,因为我当时想的是最重要的是实现分享,没有考虑到有人要把项目跑起来,所以重建了一下数据库脚本,目的是让项目跑起来,分享和项目中的业务无关。

下载了资源的自取脚本https://github.com/ShrMus/note/blob/master/knowledge/kavo_database_script/kavo.sql

 

SpringBoot版本下载地址

https://download.csdn.net/download/shrmuscles/10725021

 

正文

我这几天做的是自定义分享到朋友圈和分享给好友,能够自己设置分享出来的标题,描述和图片。

自定义分享到朋友圈需要调用微信的JS接口,个人公众号和企业公众号的拥有的接口权限都不一样。企业认证过的公众号拥有的接口权限会多一些。

 

那需要怎么做呢,官方文档的【微信JS-SDK说明文档】中写了JSSDK的使用步骤。

官方文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

 

第一步

绑定域名,在【公众号设置】的【功能设置】中设置JS接口安全域名网页授权域名,做这两步都要下载一个txt文件。

我用Java写后台,所以Http服务器用的是Tomcat,这里要注意的是,如果你的域名是直接指向到你的服务器,需要把Tomcat的默认端口改成80,然后把这个文件放在webapps/ROOT目录下,如果输入域名/文件名在浏览器能够看到文件的内容就说明文件的位置放正确了,点保存就好了。

 

第二步

引入JS文件(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js

 

第三步

通过config接口注入权限验证配置

wx.config({

    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

    appId: '', // 必填,公众号的唯一标识

    timestamp: , // 必填,生成签名的时间戳

    nonceStr: '', // 必填,生成签名的随机串

    signature: '',// 必填,签名,见附录1

    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

});

这个时候我蒙圈了,这什么玩意,这些参数是自己输吗?在哪获得这些参数呢。于是我在公众号里努力找也只找到了appID,其他的参数怎么获得?timestamp和nonceStr还好解决,signature怎么获得,注释里写见附录1。

 

于是我翻到附录1

这里写到生成签名先要了解jsapi_ticket,而jsapi_ticket是通过access_token来获取的。

 

接下来看看access_token是什么,官方文档中【开始开发】中【获取access_token】中有说明,公众号可以使用AppIDAppSecret调用本接口来获取access_token

 

 

AppID在微信公众号的【开发】的【基本配置】有,【基本配置】中也有AppSecret,获取就行了,真是得来全不费功夫,但是要用文档记下AppID和AppSecret,获取access_token会用到。

 

这里还有个IP白名单只有将IP地址设置为公众号的IP白名单,才能成功调用该接口。AppID和AppSecret可在“微信公众平台-开发-基本配置”页中获得(需要已经成为开发者,且帐号没有异常状态)。调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。可以设置多个,输入一个IP地址之后回车就行了,我遇到过几次情况就是在公司那个地方的公网IP和我住的地方的公网IP不一样,导致我在家的时候出现了后面的access_token获取不到的情况。记得要配置线上环境的IP地址

 

现在AppIDAppSecret都有了,怎么获得access_token。前面看的

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值