微信朋友圈分享接口使用总结
微信朋友圈分享接口是非常细节的,而且不好调试,所以在此总结一下,以帮助大家
首先应该遵循微信开发者文档介绍,用接口调试工具将你需要的接口的权限确定一下(这里得去申请接口权限)?然后将这个网址用手机端微信打开测试一下接口是否可用?http://203.195.235.76/jssdk/
在保证所有的接口可用的前提下,下面我们正式进入主题我用的是java的struts框架写的后台
var timestamp = '<s:property value="timestamp" />';
var signature = '<s:property value="signature" />';
var inviteAddr = '<s:property value="inviteAddr"/>';
//首先我们得配置configwx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: "微信公众号", // 必填,公众号的唯一标识timestamp: timestamp, // 必填,生成签名的时间戳取当前时间nonceStr: 'TmqtI9LIZM4uGiY6MWYBN4GnthPx1QKUEERYoqR7Rt6', // 必填,生成签名的随机串,可以随便写signature: signature,// 必填,签名,见附录1jsApiList: [ 'checkJsApi','openLocation','getLocation','onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2});
最重要的的就是签名,因为它联系着一下三个参数
signature = Common.setSignature(jsapi_ticket, Common.noncestr, timestamp, "http://" + url);
首先是jsapi_ticket的获取:
public static String getAccessToken(HttpServletRequest request) {
String turl = String.format("%s?grant_type=client_credential&appid=%s&secret=%s",Common.appUrl, Common.appID, Common.appSecret);HttpClient client = new DefaultHttpClient();HttpGet get = new HttpGet(turl);JsonParser jsonparer = new JsonParser();String result = null;try {HttpResponse res = client.execute(get);String responseContent = null;HttpEntity entity = res.getEntity();responseContent = EntityUtils.toString(entity, "UTF-8");JsonObject json = jsonparer.parse(responseContent).getAsJsonObject();if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {if (json.get("errcode") != null) {} else {result = json.get("access_token").getAsString();}}} catch (Exception e) {e.printStackTrace();} finally {client.getConnectionManager().shutdown();
// if(null != request){// Common.setSession(request, "access_token", result);
// }return result;}}public static String getJsapiTicket(HttpServletRequest request) {
// String access_token = Common.getAccessToken(request);//得到AccessTokenString access_token = getAccessToken(request);String url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+ access_token + "&type=jsapi";HttpClient client = new DefaultHttpClient();HttpGet get = new HttpGet(url);JsonParser jsonparer = new JsonParser();String result = null;try {HttpResponse res = client.execute(get);String responseContent = null;HttpEntity entity = res.getEntity();responseContent = EntityUtils.toString(entity, "UTF-8");JsonObject json = jsonparer.parse(responseContent).getAsJsonObject();if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {if (!json.get("errcode").toString().equals("0")) {// {"errcode":40013,"errmsg":"invalid appid"}} else {result = json.get("ticket").getAsString();}}} catch (Exception e) {e.printStackTrace();} finally {client.getConnectionManager().shutdown();return result;}}
//名称是小写
timestamp = String.valueOf((new Date()).getTime() / 1000);
//随机串不说了
//url获取String url = request.getHeader("Host") + request.getRequestURI();//必须动态获取
如果签名对了,调试时就会弹出errorMsg:ok代表config正确。
后面的就简单了
在ready里面调用接口
wx.ready(function(){// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。// 分享到朋友圈wx.onMenuShareTimeline({title: '', // 分享标题link: "点击后的地址", // 分享链接desc: "",imgUrl: "图片的url",trigger: function (res) {// 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回// alert('用户点击发送给朋友');},success: function (res) {alert('已分享');window.location.href= "red_package_index?shareFlag=1";},cancel: function (res) {alert('已取消');},fail: function (res) {alert(JSON.stringify(res));}});});
总结都是很细节的东西,很容易错,务必看文档,有很多错误总结。
微信朋友圈分享接口使用总结相关推荐
- 如何增加微信朋友圈分享链接的小图片
我们在制作好一些网页以后,希望通过微信朋友圈分享给大家.但是发现这样分享到微信朋友圈是没有小图标的.如何在链接前增加吸引人的图片呢?请看下面的制作方法. 工具/原料 智能手机 微信 方法/步骤 在网页 ...
- 微信朋友圈分享链接的【图片】设置
微信朋友圈分享链接的[图片]设置 我们在制作好一些网页以后,希望通过微信朋友圈分享给大家.但是发现这样分享到微信朋友圈是没有小图标的.如何在链接前增加吸引人的图片呢?请看下面的制作方法. 在网页的头部 ...
- 微信分享功能android,关于Android实现简单的微信朋友圈分享功能
1.先下载微信分享的jar包放在lib目录下,并且添加依赖, android:name=".wxapi.WXEntryActivity" android:exported=&quo ...
- 纯Java实现微信朋友圈分享图
纯Java实现微信朋友圈分享图 1.实现分享图的效果 2.开发环境 2.1 JDK * oracle's jdk 1.8以上 2.2 字体 * 若选择了微软雅黑字体又是代码部署到Linux,则需要安装 ...
- java 朋友圈分享接口_Java实现微信公众平台朋友圈分享功能详细代码
其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...
- java 朋友圈分享接口_微信发朋友圈api接口调用代码
微信发朋友圈api接口调用代码,推送微信朋友圈.发朋友圈 /** * 触发推送朋友圈列表 * @author wechatno:tangjinjinwx * startTime传秒 * @blog h ...
- js sdk 一键分享 微信_微信朋友圈分享自己拍的视频,一键开启这个设置,自带文字和音乐...
你分享到朋友圈视频,还是简单的随手一拍,然后分享吗?怎样让你的分享的视频看起来高端.大气.上档次呢?其实微信视频新增编辑功能.能剪辑,能加文字和音乐,还能添加表情包.让你的视频更好看. 1.拍摄阶段 ...
- 公众号微信朋友圈分享提示签名失败 easywechat 微信朋友圈分享签名失败
config:fail,Error: 系统错误,错误码:63002,invalid signature uniapp微信公众号朋友圈分享失败 config:fail,Error: 系统错误,错误码:6 ...
- 微信小程序踩坑记录 ------- canvas 生成带小程序码的微信朋友圈分享图
最近做了一个问卷类的小程序,其中的结果页想让用户进行朋友圈分享转发,网上搜索资料,得出解决思路,用 canvas 将页面绘制生成图片,然后保存到手机相册,最终效果如下: 在这里我只写页面里关于 can ...
最新文章
- adb install -r ,-d 等的解释
- 为什么大部分的婚姻都是凑合?数据告诉你真相
- echart 导出保存图片
- 二、JAVA基础、语法
- matlab在遥感数字图像处理方面的应用
- 百度经纬度转GPS经纬度
- Expandable TabBar
- 软考高级系统架构设计师系列论文二十四:论信息系统的安全风险
- Intellij IDEA创建Scala项目
- Linux中 strsep 函数 详解
- H264编码基本原理(一)
- 托管调试助手 ContextSwitchDeadlock:“CLR 无法从 COM 上下文 0x8d4e70 转换为 COM 上下文 0x8d4db8,这种状态已持续 60 秒
- 【源码课件+名师讲解】Java优质课程分享
- 2017下半年掘金日报优质文章合集:Android篇,android开发工程师
- iOS中视频播放的学习
- 经典推荐算法之协同过滤
- oracle挑库发放次数,EBS OM发运状态 wsh_delivery_details.RELEASED_STATUS
- 数据库连接池 (DBCP、c3p0、Druid) 配置说明和对比
- 计算机二级备考:Word 部分_2 排版
- 视频教程-机器学习算法之线性模型视频教学-机器学习
热门文章
- 2020年中国水产饲料行业发展现状分析,水产需求增加带动行业发展「图」
- 深度分析互联网转型:建新零售平台快速赚钱拼多多市值超网易京东
- jQuery 中的事件冒泡和阻止默认行为
- Vuforia-PocketCat丨4. 完成猫咪的动作的控制及声音设计
- ExtJS用户登录界面
- 【博弈SG】HDOJ1846
- NPN class(Negation Permutation Negation)
- 有意思,圣诞节自己做一个装饰圣诞帽头像的APP!
- 2016年计算机一级考试试题及答案,2016年计算机一级考试试题题库操作题及答案...
- CSS实现文本超过部分,超出两行,超出部分省略号显示