其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈。

首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要修改一些配置。例如修改要分享内容的头像,链接,描述等。

开发步骤:

1.在公众平台配置js-sdk接口

“公众号设置”——“功能设置”——“JS接口安全域名”

2.在要分享的页面引入js

http://res.wx.qq.com/open/js/jweixin-1.0.0.js

https://res.wx.qq.com/open/js/jweixin-1.0.0.js

3.然后就是写自己的js

包括3个部分

1)权限验证配置

wx.config({

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

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

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

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

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

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

});

2)分享处理

wx.ready(function(){

// 朋友圈

wx.onMenuShareTimeline({

title: '', // 分享标题

link: '', // 分享链接

imgUrl: '', // 分享图标

success: function () {

// 用户确认分享后执行的回调函数

},

cancel: function () {

// 用户取消分享后执行的回调函数

}

});

//朋友

wx.onMenuShareAppMessage({

title: '', // 分享标题

desc: '', // 分享描述

link: '', // 分享链接

imgUrl: '', // 分享图标

type: '', // 分享类型,music、video或link,不填默认为link

dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空

success: function () {

// 用户确认分享后执行的回调函数

},

cancel: function () {

// 用户取消分享后执行的回调函数

}

});

});

3)错误处理

wx.error(function(res){

// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。

});

2)3)直接写自己的参数即可,至于1) 的参数,可通过下面的类来获取。

import java.util.UUID;

import java.util.Map;

import java.util.HashMap;

import java.util.Formatter;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import java.io.UnsupportedEncodingException;

class Sign {

public static void main(String[] args) {

String jsapi_ticket = "jsapi_ticket";

// 注意 URL 一定要动态获取,不能 hardcode

String url = "http://example.com";

Map ret = sign(jsapi_ticket, url);

for (Map.Entry entry : ret.entrySet()) {

System.out.println(entry.getKey() + ", " + entry.getValue());

}

};

public static Map sign(String jsapi_ticket, String url) {

Map ret = new HashMap();

String nonce_str = create_nonce_str();

String timestamp = create_timestamp();

String string1;

String signature = "";

//注意这里参数名必须全部小写,且必须有序

string1 = "jsapi_ticket=" + jsapi_ticket +

"&noncestr=" + nonce_str +

"×tamp=" + timestamp +

"&url=" + url;

System.out.println(string1);

try

{

MessageDigest crypt = MessageDigest.getInstance("SHA-1");

crypt.reset();

crypt.update(string1.getBytes("UTF-8"));

signature = byteToHex(crypt.digest());

}

catch (NoSuchAlgorithmException e)

{

e.printStackTrace();

}

catch (UnsupportedEncodingException e)

{

e.printStackTrace();

}

ret.put("url", url);

ret.put("jsapi_ticket", jsapi_ticket);

ret.put("nonceStr", nonce_str);

ret.put("timestamp", timestamp);

ret.put("signature", signature);

return ret;

}

private static String byteToHex(final byte[] hash) {

Formatter formatter = new Formatter();

for (byte b : hash)

{

formatter.format("%02x", b);

}

String result = formatter.toString();

formatter.close();

return result;

}

private static String create_nonce_str() {

return UUID.randomUUID().toString();

}

private static String create_timestamp() {

return Long.toString(System.currentTimeMillis() / 1000);

}

}

上述类中动态获取URL的方法:

String url = request.getRequestURL().toString();

String param = request.getQueryString();

url = url + "?" + param;

总结

以上就是本文关于Java实现微信公众平台朋友圈分享功能详细代码的全部内容,希望对大家有所帮助。欢迎参阅:Java编程通过list接口实现数据的增删改查代码示例、Java多线程之线程通信生产者消费者模式及等待唤醒机制代码详解、Java编程BigDecimal用法实例分享等,有什么问题可以随时留言,小编会再接再厉,把更多更好的,有用的代码分享给大家。

java微信分享朋友圈_Java实现微信公众平台朋友圈分享功能详细代码相关推荐

  1. java 朋友圈分享接口_Java实现微信公众平台朋友圈分享功能详细代码

    其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...

  2. JAVA 实现朋友圈_Java实现微信公众平台朋友圈分享功能详细代码

    其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...

  3. php实现微信公众号文章付费阅读功能的代码分享

    关于php实现微信公众号文章付费阅读功能,就是一片公众号文章,点进去显示标题,作者,时间,公众号名称和部分内容,要想阅读所有内容,那就支付0.01元就可以阅读所有的内容,这就是付费阅读!!!当然金额可 ...

  4. 微信公众平台推数据统计功能 商业价值可量化

    8月29日晚,微信产品团队通过服务号"微信公众平台"发布消息,宣布"微信公众平台增加数据统计功能".与此同时,细心的用户发现登陆微信公众平台,后台界面上增加了& ...

  5. iOS微信公众平台彻底关闭打赏功能

    微信团队官方宣布,受苹果公司新规定影响,2017年4月19日17点起,iOS版微信公众平台赞赏功能关闭,但安卓等其他版本微信的赞赏功能不受影响. 微信团队官方宣布,受苹果公司新规定影响,2017年4月 ...

  6. 微信公众平台创建自定义菜单的PHP代码

    接口说明 在使用通用接口前,你需要做以下两步工作: 1.拥有一个  微信公众账号,并获取到  appid和appsecret(在公众平台申请自定义菜单功能,开启开发者模式,填写URL与Token后获得 ...

  7. 微信公众平台开发之商品比价功能

    微信公众平台开发之商品比价功能是会员日常生活中最贴心的实用查询工具.商品比价给会员的生活带来极大的方便,也使会员对我们官方微信的依赖度提升一个层面.比价功能让我们官方微信的服务更加周到,信息更加全面, ...

  8. 微信发ascii_微信公众平台开发(107) 分享到朋友圈和发送给好友

    关键字:微信公众平台 JSSDK 发送给朋友 分享到朋友圈 onMenuShareTimeline onMenuShareAppMessage 作者:方倍工作室 原文:http://www.cnblo ...

  9. PHP阅读文章送积分规则代码,php实现微信公众号文章付费阅读功能的代码分享

    关于php实现微信公众号文章付费阅读功能,就是一片公众号文章,点进去显示标题,作者,时间,公众号名称和部分内容,要想阅读所有内容,那就支付0.01元就可以阅读所有的内容,这就是付费阅读!!!当然金额可 ...

  10. 微信自定义菜单java_使用Java语言开发微信公众平台(八)——自定义菜单功能

    随着上一篇文章的结束,我们已经实现了所有消息的类型的回复功能.今天,我们来学习更加高大上,也更加重要的自定义菜单功能. 一.了解自定义菜单 自定义菜单是微信公众平台最常用也是最重要的功能之一.根据微信 ...

最新文章

  1. R语言笔记6:在R中写一些简单的函数、functions基础和作用域
  2. 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
  3. Netty实现原理浅析
  4. python-函数的注释
  5. 简单易懂设计模式——简单工厂模式
  6. 让微软企业库中的Email Trace Listener使用需要身份验证的SMTP服务器
  7. 一般试卷的纸张大小是多少_国际A4纸尺寸大小是多少?标准A4纸像素分辨率换算方法...
  8. Egg.js使用jwt
  9. Python参考手册
  10. ubuntu下rabbitvcs安装后无右键菜单解决办法
  11. 运动世界校园【夜神模拟器】5.30
  12. 回归预测 | MATLAB实现NCA(近邻成分分析)多输入单输出
  13. osm地图数据 mysql_一种OSM地图数据中路网交叉口节点自动合并方法与流程
  14. 盘点百度 4 个牛逼哄哄的开源项目
  15. Java基础——Arrays类的排序方法
  16. 高中计算机在线使用方法,高中-信息技术-手动搜题-在线组卷
  17. 《安富莱嵌入式周报》第266期:真正模拟DA神的威力,全开源nV级测量仪表挑战赛结束,欣赏震撼设计过程
  18. jQuery入门选择器
  19. Kakfa LAG监控
  20. STK运载火箭发射仿真

热门文章

  1. vlan协议中ISL与Dot1Q区别
  2. 最近流行的暴寒经典语句
  3. 如何辨别u盘是否为缩水,并恢复u盘真实容量
  4. 树莓派 + AWS IoT Greengrass
  5. poj - 2586 - Y2K Accounting Bug
  6. 【Educational Codeforces Round 61 (Rated for Div. 2) D.Stressful Training】二分
  7. mysqlError: Can't connect to MySQL server on 'localhost' (10061)
  8. 中国无影灯行业市场供需与战略研究报告
  9. cmdb 指南_无限供应商制造商指南
  10. Variable is already assigned to this value JAVA什么意思