精华内容
下载资源
问答
  • java 开发微信公众号源码 wechat java微信公众号开发源码
  • 主要介绍了Java微信公众号开发之通过微信公众号获取用户信息,需要的朋友可以参考下
  • 综合笔者多年的微信公众号以及微信产品开发经验,本篇内容把微信公众号测试账户的接口配置过程分享给广大开发者朋友,开发语言是Java,采用目前流行的springmvc框架开发开发前必读以及准备工作: 1、微信公众...

    综合笔者多年的微信公众号以及微信产品开发经验,本篇内容把微信公众号测试账户的接口配置过程分享给广大开发者朋友,开发语言是Java,采用目前流行的springmvc框架开发。

    开发前必读以及准备工作:

    1、微信公众平台开发是指为微信公众号进行业务开发,为移动应用、PC端网站、公众号第三方平台(为各行各业公众号运营者提供服务)的开发,请开发者前往微信开放平台接入。

    2、在申请到认证公众号之前,开发者可以先通过测试号申请系统,快速申请一个接口测试账号,立即开始接口测试开发。

    微信公众号测试账号官方申请链接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login微信扫描关注后登录

    登录进来后即可看到申请的微信公众号测试账号信息以及appID和appsecret

    一、接口开发

    请求方式:http get请求(只能用get方式)

    @Controller
    @RequestMapping(value = "msg")
    public class WeChatActionController {
        /**
         * 微信消息接收和token验证
         * @param request
         * @param response
         * @throws IOException
         */
        @RequestMapping("/weChatToken")
        public void weChat(HttpServletRequest request, HttpServletResponse response) throws IOException {
            boolean isGet = request.getMethod().toLowerCase().equals("get");
            if (isGet) {
                // 微信加密签名
                String signature = request.getParameter("signature");
                // 时间戳
                String timestamp = request.getParameter("timestamp");
                // 随机数
                String nonce = request.getParameter("nonce");
                // 随机字符串
                String echostr = request.getParameter("echostr");
                // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
                if (signature != null && CheckoutUtil.checkSignature(signature, timestamp, nonce)) {
                    try {
                        PrintWriter print = response.getWriter();
                        print.write(echostr);
                        print.flush();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }

     检验微信加密签名信息的工具类

    public class CheckoutUtil {
    
        // 与测试账号接口配置信息中的Token要一致
        private static String token = "999";
    
        /**
         * 验证签名
         * @param signature
         * @param timestamp
         * @param nonce
         * @return
         */
        public static boolean checkSignature(String signature, String timestamp, String nonce) {
            String[] arr = new String[] { token, timestamp, nonce };
             Arrays.sort(arr);// 将token、timestamp、nonce三个参数进行字典序排序
            StringBuilder content = new StringBuilder();
            for (int i = 0; i < arr.length; i++) {
                content.append(arr[i]);
            }
            MessageDigest md = null;
            String tmpStr = null;
    
            try {
                md = MessageDigest.getInstance("SHA-1");
                // 将三个参数字符串拼接成一个字符串进行sha1加密
                byte[] digest = md.digest(content.toString().getBytes());
                tmpStr = byteToHex(digest );
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            // 将sha1加密后的字符串可与signature对比,标识该请求来源于微信
            return tmpStr != null ? tmpStr.equals(signature) : false;
        }
    
        //十六进制字节数组转为字符串
        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;
        }
    }

    二、配置接口信息

    点击接口配置信息右侧的修改,填写接口的url和Token(任意填写都可以)提交。这个url用于服务端验证此处配置的Token

    点击提交,显示Token验证成功,至此微信公众号测试账号接口配置以及Token验证已经完成,接着为了拥有微信更多的JS接口调用权限,继续按照下面过程配置JS安全接口域名。

    三、配置JS接口安全域名

    JS接口安全域名右侧的修改,填入上面配置的域名信息(注意是域名,不带http,不带www,例如:baidu.com)

    四、配置网页授权

    填写安全域名(跟上面的一样,填写域名信息,不带http,不带www)

    更多JavaEE资料请关注下面公众号,欢迎广大开发者朋友一起交流。笔者电话(微信):18629374628 

    展开全文
  • 微信公众平台开发之微信编辑器开发是子恒老师《微信公众平台开发》视频教程的第11部。...内容包含微信公众号编辑器开发思路,编辑器前端页面,功能实现,添加新样式等等。欢迎反馈,微信号:QQ68183131
  • 最近在学node开发,于是想自己写一个node版的微信公众号开发开发期间踩了挺多的坑,也学到了挺多东西。这里分几个部分给大家分享一下node开发微信公众号的过程,以及哪些容易遇见的坑。(欢迎批评指正,源码在文章...

    最近在学node开发,于是想自己写一个node版的微信公众号开发。开发期间踩了挺多的坑,也学到了挺多东西。这里分几个部分给大家分享一下node开发微信公众号的过程,以及哪些容易遇见的坑。(欢迎批评指正,源码在文章末尾)


    微信公众号的接入可以分为三个部分。1.node服务器;2.将本地的node服务暴露到外网,3.微信公众号信息验证。我们依次来看一下。

    1.node服务器启动

    我们先创建一个文件夹,并引入相应的模块,我这里用的是express模块。端口随便选择这个没有被占用的就行,我这用的是1234端口。

    // 引入express模块
    var express = require("express");
    var app = express();
    
    app.get("/", (req, res, next)=> {
        res.send("这是1234端口页面");
    })
    
    // 监听1234端口
    app.listen(1234);

    我们到浏览器看一下,服务成功启动。

    2.将本地服务暴露到外网

    推荐一个工具——花生壳(个人感觉还挺好),去官网注册一下,花6块钱就可以获得免费版的内网穿透服务,另外注册还可以获得一个免费的域名。

    点击添加映射,名称随便写,域名选择免费送的就行,内网主机Ip可以在命令行下输入ipconfig查看。

    设置完之后,可以诊断一下是否成功。

    ps:如果不想用花生壳,也可以用其他一些免费的插件,比如node有个插件叫做Localtunnel,使用方法也特别简单,一个命令就行,缺点就是不太稳定,每次重启一下服务,就要重新暴露,而且每次的网址会发生变化。

    3.微信公众号信息验证

    进入微信公众号的开发文档,选择开始开发,接口测试号申请(当然有自己公众号的可以用自己的公众号),然后用微信扫码登录就可以看到这样的页面。

    Token可以随便填,URL就是我们刚才用花生壳暴露出来的外网服务。(但是现在直接填写保存是会出错的,因为我们还没有验证)

    当我们点提交的时候,微信服务器会给我们填写的URL地址发送一个get请求,并传回一些特定的字段。就是下图这些参数,我们需要把这些参数跟微信服务去验证。

    所以,我们要修改一下app.js,接受一下这几个参数,并把验证结果返回给微信服务器。

    // 引入express模块
    var express = require("express");
    var app = express();
    var sha1 = require("sha1");
    
    var config = {
        "appID": "wxd27649727105b6d2",
        "appsecret": "a3f2eb9f5819b0bf4b2a92a81f99baf4",
        "token": "wechat"   
    }
    
    app.get("/", (req, res, next)=> {
    
        // 获取微信服务器发送的数据
        var signature = req.query.signature,
        timestamp = req.query.timestamp,
            nonce = req.query.nonce,
        echostr = req.query.echostr;
    
        // token、timestamp、nonce三个参数进行字典序排序
        var arr = [config.token, timestamp, nonce].sort().join('');
        // sha1加密    
        var result = sha1(arr);
    
        if(result === signature){
            res.send(echostr);
        }else{
            res.send('mismatch');
        }
    })
    
    // 监听1234端口
    app.listen(1234);

    这里引入了一个新的模块sha1,主要是对结果进行加密的。现在,我们再到微信测试号配置设置就可以成功保存了,这就表示,我们的验证成功可以开始正式的开发了。

    到这一步,微信验证就已经成功了,但是为了后续代码的编写,我们可以把代码进行一些优化。比如把配置文件单独提取出来,把微信授权方法封装到一个模块中,优化完之后再到微信测试号上去重新配置保存一下,看是否出错。


    以下是优化部分:
    1.配置文件单独提取出来,写在config.json文件中;
    2.授权验证方法提取出来,写在wechat.js文件中
    wechat.js代码:

      var sha1 = require("sha1"); //引入加密模块
    
    // 构造函数
    function WeChat(config) {
        // 传入配置文件
        this.config = config;
        this.token = config.token;
        this.appID = config.appID;
        this.appScrect = config.appScrect;
    }
    
    // 微信授权验证方法
    WeChat.prototype.auth = function(req, res, next) {
    
        // 获取微信服务器发送的数据
        var signature = req.query.signature,
        timestamp = req.query.timestamp,
            nonce = req.query.nonce,
        echostr = req.query.echostr;
    
        // token、timestamp、nonce三个参数进行字典序排序
        var arr = [this.token, timestamp, nonce].sort().join('');
        // sha1加密    
        var result = sha1(arr);
    
        if(result === signature){
            res.send(echostr);
        }else{
            res.send('mismatch');
        }
    }
    
    // 暴露WeChat对象
    module.exports = WeChat;

    app.js

    // 引入express模块
    var express = require("express");
    var app = express();
    var config = require("./config"); //引入配置文件
    var WeChat = require("./wechat/wechat"); 
    
    var wechat = new WeChat(config); //实例化一个WeChat对象
    
    app.get("/", (req, res, next)=> {
        wechat.auth(req, res, next);
    })
    
    // 监听1234端口
    app.listen(1234);

    源码地址:https://github.com/yeshaojun/wechatBase
    如果喜欢就给我点个小星星吧!

    展开全文
  • Asp.Net 公众号代码 .net微信公众号代码 微信公众号代码 Asp.Net 公众号代码 .net微信公众号代码 微信公众号代码 Asp.Net 公众号代码 .net微信公众号代码 微信公众号代码 Asp.Net 公众号代码 .net微信公众号代码 ...
  • 本篇文章主要介绍了详解nodejs微信公众号开发——1.接入微信公众号,非常具有实用价值,需要的朋友可以参考下
  • 微信公众号主要面向名人、政府、媒体、企业等机构推出的合作推广业务。在这里可以通过微信渠道将品牌推广给上亿的微信用户,减少宣传成本,提高品牌知名度,打造更具影响力的品牌形象。 3. 公众平台 微信公众平...

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

    一丶概述

    公众号与公众平台

    1. 微信账号类型

    • 个人号
    • 公众号
      • 订阅号
      • 服务号
    • 企业号

    2. 公众号

    微信公众号主要面向名人、政府、媒体、企业等机构推出的合作推广业务。在这里可以通过微信渠道将品牌推广给上亿的微信用户,减少宣传成本,提高品牌知名度,打造更具影响力的品牌形象。

    3. 公众平台

    微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读公众平台开发接口文档来帮助开发。

    微信公众平台可以用来注册、管理公众号企业号

    登录网址:https://mp.weixin.qq.com/

    进入上面网址,可进行登录及注册

    注册流程:

    • step1 基本信息

    • step2 选择类型

    • step3 信息登记

    • step4 公众号信息

    • step5 完成注册后,进行登录,首先需使用手机进行扫码

    • 在手机端显示此界面,确认无误后,确定即可

    • 通过身份验证后,即可在网页端对创建的公众号进行简单配置,如下图

    • 一些简单的功能添加以及配置(需要啥配置啥即可,简单操作这里不做详细说明了)

    4. 公众号与个人号的区别

    微信公众号和个人号是完全不同的。

    微信对个人号的定位是普通用户之间的交流和通讯,微信并不鼓励和支持使用个人号进行营销推广(微信曾经大规模封杀好友过多的营销个人号)。

    而公众号则完全是为品牌推广、信息推送等服务而定制的。使用公众号,可以向关注者(即粉丝)群发图文消息,粉丝在对话界面看到消息后,可以点击跳转到一个图文页面。公众号还提供关键词自动回复等基础功能,以此可以随时、自动的和粉丝进行互动。

    除了这些基础功能之外,更大的区别是,微信针对公众号开放了很多程序接口。在这些接口的基础上,可以向粉丝提供更多的服务。此外,认证的服务号还可以申请微信支付。粉丝可以使用微信支付向进行付款(订购服务或购买商品)。所有这些,都是个人号不具备的。

    微信公众号的注册几乎是没有门槛的。不过针对不同类型的公众号,微信提供的功能不同,资质要求也不一样。

    二丶微信开发原理

    公众号主要通过

    • 公众号消息会话
    • 公众号内网页

    来为用户提供服务的。

    • 公众号消息会话

    公众号是以微信用户的一个联系人形式存在的,消息会话是公众号与用户交互的基础。

    • 公众号内网页

    许多复杂的业务场景,需要通过网页形式来提供服务。

    • 使用微信服务器提供的功能无法满足我们的需求

    设想两个场景:

    1. 公众号的消息自动回复想做的智能一些,类似于iphone的Siri,例如粉丝发送“今天的北京天气”到公众号,回复粉丝信息时要按照特定时间特定城市给予反馈;

    2. 公众号内嵌的网页需要获取浏览用户的微信头像、昵称、当前定位等信息

    • 模型分类

    无扩展应用模型

    1. 公众号消息会话

     

    2. 公众号内网页

    有扩展应用模型

    1. 公众号消息会话

    2. 公众号内网页

    • 公众号接口

    1. 公众号消息会话

    目前公众号内主要有这样几类消息服务的类型,分别用于不同的场景。

    群发消息

    公众号可以以一定频次(订阅号为每天1次,服务号为每月4次),向用户群发消息,包括文字消息、图文消息、图片、视频、语音等。

    被动回复消息

    在用户给公众号发消息后,微信服务器会将消息发到开发者预先在开发者中心设置的服务器地址(开发者需要进行消息真实性验证),公众号可以在5秒内做出回复,可以回复一个消息,也可以回复命令告诉微信服务器这条消息暂不回复。被动回复消息可以设置加密(在公众平台官网的开发者中心处设置,设置后,按照消息加解密文档来进行处理。其他3种消息的调用因为是API调用而不是对请求的返回,所以不需要加解密)。

    客服消息

    在用户给公众号发消息后的48小时内,公众号可以给用户发送不限数量的消息,主要用于客服场景。用户的行为会触发事件推送,某些事件推送是支持公众号据此发送客服消息的,详见微信推送消息与事件说明文档。

    模板消息

    在需要对用户发送服务通知(如刷卡提醒、服务预约成功通知等)时,公众号可以用特定内容模板,主动向用户发送消息。

    2. 公众号内网页

    对于公众号内网页,提供以下场景接口:

    网页授权获取用户基本信息

    通过该接口,可以获取用户的基本信息

    微信JS-SDK

    是开发者在网页上通过JavaScript代码使用微信原生功能的工具包,开发者可以使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照等许多能力。

    3.微信开发者文档

    文档链接地址:https://mp.weixin.qq.com/wiki/home/index.html

     

     

     

     

     

    展开全文
  • 最近,对微信公众号有点兴趣,就自己研究了研究里面的一些内容,发现还挺有意思的,而且通过微信公众号可以调用一些比较有意思的接口,就比如百度开发服务平台点击进入里面的很有接口,就比较常见的翻译,语音识别,...

        最近,对微信公众号有点兴趣,就自己研究了研究里面的一些内容,发现还挺有意思的,而且通过微信公众号可以调用一些比较有意思的接口,就比如百度开发服务平台 点击进入 里面的很有接口,就比较常见的翻译,语音识别,地理位置等等,都挺好的。好了,不多说,进入正题好了。

        我想,做微信公众号开发的,对于想获取关注了公众号的用户信息,或者说是当前与后台服务器进行交互的当前用户信息,这个功能是很重要的吧。因为,通过这个,可以直接获取到当前的用户信息,而不需要,每次都是进行自己输入信息,这个只会让用户感觉到很不适。。。所以,为了解决这个需求,那咱们来研究研究,如何获取微信的个人信息~!

    大家可以关注我的微信公众号:Java菜鸟进阶之路。便于日常阅读哦!   

    目录

     (一)思路

    展开全文
  • 首先,要有自己的公众号(这句是废话),个人可以申请微信公众号的订阅号,企业才可以申请服务号,其次要有云空间或者服务器,并且将服务器IP添加至微信公众号开发配置中的IP白名单,这只是基础的准备工作 ...
  • 微信公众号签名接口,微信公众号消息管理接口
  • 微信公众号音频在线下载,微信公众号视频下载工具,微信公众号音频下载工具,100%源文件,永久在线使用。 工具图片 一、将想要下载的微信公众号文章 链接 粘贴到输入框中 二、点击一键下载按钮,等待完成即可 工具...
  •   应项目需求,最近我开始了我的第一次微信公众号网页的开发,第一次接触到公众号网页的我是很懵逼的。通过了解并实现了需求的我下面来进行讲解一下,希望可以帮助到有需要的朋友。ps:我这里请的是使用vue来开发...
  • 如何注册微信公众号--个人、企业 注册地址https://mp.weixin.qq.com/个人注册选择 '订阅号', 只能使用简单接口 企业注册择 '服务号' 可以使用更多的接口 如何注册微信公众号--测试号 我们个人开发只能使用...
  • 微信公众号源码包
  • 微信公众号支付java版 微信公众号支付java版 微信公众号支付java版
  • 关于注册这点我就简单说一下,需要注意的就是,微信公众号一般用的就是订阅号和企业号,订阅号不能认证,权限少,且不能就行二次开发。而企业号可以认证,但是认证只有一年期限,认证费用300元。当然了,为了让我们...
  • SpringBoot开发微信公众号

    千次阅读 2019-03-23 20:00:23
    SpringBoot开发微信公众号SpringBoot开发微信公众号注册微信公众号公众号配置合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容...
  • java开发微信公众号

    2017-12-09 12:27:54
    采用springboot框架开发微信公众号,实现自动回复,图片回复,消息交互,创建自定义菜单,采用百度翻译接口实现智能翻译等等,采用合理结构,便于二次开发
  • 微信公众号禁止分享页面.如何禁止微信公众号分享页面
  • tp3.2.3开发微信公众号

    2018-04-14 10:20:16
    tp3.2.3开发微信公众号,相关的有自定义菜单,同步菜单、素材管理等
  • 微信公众号Java开发-笔记01【微信公众号介绍、开发环境搭建】
  • 通过热门框架spring boot来学习微信公众号开发,帮助同学们快速入门微信公众号开发
  • 主要介绍了使用NodeJs 开发微信公众号(三)微信事件交互实例的相关资料,需要的朋友可以参考下
  • 说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! ... 一丶叙述 开发说明 Python代码实现(以Flask框架为例) ... 客户端---->微信服务器---->nginx服务器---->开发者服务器 ...
  • 微信公众号开发必备篇 -- 微信公众号相关问题微信公众号相关问题1. 公众号下分为什么号?2. 个人身份证能申请什么号?能申请几个?3. 企业执照能申请什么号,能申请几个?4. 微信认证是谁来认证?多少钱?5. 订阅号与...
  • 可以先看下微信公众号开发文档,上面介绍的很详细。提供了那些功能,怎么去使用。 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#67 代码 绑定域名这个不需要说了。 引入js文件的话...
  • java实现微信公众号模版消息推送 准备 登录微信公众号后台(公众号模版消息推送必须为认证后的服务号)获取获取添加模版消息ID 具体实现 java代码 /** * 体脂数据推送信息给微信 * @param access_token ...
  • UniGui开发微信公众号功能

    千次阅读 2019-08-03 08:53:07
    用unigui开发微信公众号功能。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 372,089
精华内容 148,835
关键字:

怎样开发微信公众号