微信公众号开发流程

  1. 申请公众号流程

登录地址:https://mp.weixin.qq.com/,注册-选择类型,

对类型不清楚的点击链接,账号类型区别http://kf.qq.com/faq/170815aUZjeQ170815mU7bI7.html

公众号申请流程:http://kf.qq.com/product/weixinmp.html#hid=99

  1. 开发准备

首先要创建的是一个web项目(springmvc),环境搭好并成功启动。

公众号账号登录后,会看到一个首页界面,请熟悉界面左侧菜单:

在“功能”菜单下面,不需要自己开发,可以实现的基本功能,编辑完成可以查看公众号,实现简单的公众号。

在“设置”菜单下,公众号设置可以查看“设置详情”,点击“功能设置”,有一个“网页授权域名”这个设置的是你web项目发布后的域名。

微信认证流程:http://kf.qq.com/product/weixinmp.html#hid=97

“开发”菜单下的“基本配置”可以看到“公众号开发信息”需要先设置secret和ip白名单,这三个信息在“开发者工具”下的“开发者文档”获取access_token时会用到。

请熟悉“开发者文档”!https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

  1. 开发者文档

3.1. 获取access_token

在创建好的web项目中,新建WxController.java,根据文档

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

通过OkHttp做get请求,请求

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

公众号账号登录—基本配置—公众号开发信息,可以获取到appid和secret两个参数;

如果与文档正确返回结果一致,即获取成功。

3.2. 自定义菜单创建接口

仔细阅读文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013

Token获取后,根据自定义菜单请求格式创建菜单,将token以及菜单作为参数通过okhttp的post请求创建菜单,若与文档正确结果一致则成功,此时打开微信公众号,可以看到手机上出现菜单(注:只有修改创建菜单的代码才需要对创建菜单做post请求);

3.3. 微信网页开发-微信网页授权

仔细阅读文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

了解Scope的snsapi_base和snsapi_userinfo区别;

了解网页授权access_token和普通access_token的区别;

第一步获取code:

访问链接URL:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

用户同意后,跳转redirect_uri/?code=CODE&state=STATE

其中redirect_uri:

public static String AppDomain = "www.baodu.com";(网页授权域名)

String back_url = "http://" + AppDomain + "/wx/back/openid";

String redirect_uri = URLEncoder.encode(back_url, "utf-8");

(授权后重定向的回调链接地址,请使用urlEncode对链接进行处理)

所以,只需要配好URL的参数,然后 return "redirect:" + url; 就会自动跳转到redirect_uri/?code=code&state=state;(注:链接里的code就是要作为,获取access_token的参数的)

将code作为参数请求下面链接:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

若请求成功,就获取网页access_token和"openid":"OPENID";

如果scope为snsapi_base流程到这里就结束了;

如果想拿用户信息,需要将scope改为 snsapi_userinfo,才可以接着通过okhttp的get请求访问

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN ;

如果正确最终返回json格式的用户信息,你可以将json解析传给对象,对用户信息进行入库操作等。

原文地址:https://www.cnblogs.com/jpfss/p/9023042.html

时间: 2024-10-20 12:55:28

微信公众号开发流程的相关文章

微信公众号开发系列教程一(调试环境部署)

原文:微信公众号开发系列教程一(调试环境部署) 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) 微信公众号火了好一阵子了,笔者算是比较早接触微信公众号开发的了,大概做了一年半了,从最开始的到处网上找demo到现在也开发一些公众号.园子里关于微信开发的教程已经数不胜数了,我也准备来凑凑热闹.一是梳理下这段时间开发的经验,二是希望能帮到想做微信开发的小伙伴们,希望大大神们吐槽的时候悠着点,

C#微信公众号开发系列教程二(新手接入指南)

http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽. 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微

微信公众号开发前期准备工作

随着移动互联网越来越普及,众多企业都注册了微信公众号,于是微信公众号的开发也越来越多,为了不被世界所淘汰,特地学习下微信公众号的开发,已备不时之需! 按照惯例,学习一门新技术或者新框架,咱们还是从官方提供的文档开始,于是找到微信公众平台开发者文档(http://mp.weixin.qq.com/wiki/home/index.html) 1.微信公众平台接口测试号申请 按照文档指引,咱们得先申请一个微信公众平台接口测试账号(http://mp.weixin.qq.com/debug/cgi-bi

微信公众号开发系列-开发模式创建自定义菜单

通过程序方式实现自定义菜单,通过http请求封装类交互微信自定义菜单接口 1.得到AccessToken access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效.由于获取access_token的api调用次数非常有限,建议开发者全局存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务. 请开发者

微信公众号开发系列教程一(调试环境部署续:vs远程调试)

原文:微信公众号开发系列教程一(调试环境部署续:vs远程调试) 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) 前几天决定写个微信公众平台开发系列,在发布第一篇博文后,收到了很多园友的反馈和建议,在这里感谢大家的支持,我会坚持写完这个系列,希望能帮助更多的小伙伴.特别要感谢下@ZIP,是他的一个提醒才有了这篇博文.也希望更多的小伙伴能把你的想法反馈给我. 上一篇中主要介绍的是使用花生壳

微信公众号开发之自动消息回复和自定义菜单

(一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 上一篇我们大致讲解了下微信公众号开发的基本原理和流程概述.本章主要是对文本消息回复和自定义菜单做一个记录和分解 消息回复 处理请求,并响应 1)关注 也可参考官网文档:https://mp.weixin.qq.com/wiki 当微信用户关注公众账号时,可以给其适当的提示.可以是欢迎词,可以是帮助提示.示例代码如下: class EventHandler : IHandler

.net微信公众号开发——快速入门

作者:王先荣 最近在学习微信公众号开发,将学习的成果做成了一个类库,方便重复使用. 使用该类库的流程及寥寥数行代码得到的结果如下.   1 引用微信公众号类库 引用xrwang.weixin.PublicAccount. 2 添加公众号信息 添加提供服务的公众号的信息,包括:原始id.AppId.AppSecret.EncodingAESKey.代码如下: AccountInfoCollection.SetAccountInfo(new AccountInfo("YourOriginalId&q

微信公众号开发笔记

试了一段时间的微信公众号开发,本文主要以图片和代码的形式,介绍一些公众号开发的内容. 基于微信公众号的第三方开发,主要是需要搞清楚[微信用户],[微信服务器],[第三方服务器]三者之间的数据流程和走向,废话不说,直接上图吧. 1. 第三方URL验证,微信用户关注公众号事件 2. 用户发送消息,点击自定义菜单事件 3. 设置公众号自定义菜单 4. 网页开发授权 暂时先发这4张图,代码后续再发.希望对开发者有所帮助.

.net微信公众号开发——快速入门【转载】

最近在学习微信公众号开发,将学习的成果做成了一个类库,方便重复使用. 现在微信公众号多如牛毛,开发微信的高手可以直接无视这个系列的文章了. 使用该类库的流程及寥寥数行代码得到的结果如下. 本文的源代码主要在:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/blob/master/xrwang.net/WeixinInterface.ashx以及http://git.oschina.net/xrwang2/xrwang.weix