zoukankan      html  css  js  c++  java
  • 微信公众号开发流程

    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解析传给对象,对用户信息进行入库操作等。

  • 相关阅读:
    JavaScript
    并发编程基础
    基于 TCP & UDP 协议的 socket 通信
    struct 模块 & subprocess 模块
    Python中的异常处理
    网络编程基础
    Json 模块补充
    冒泡排序
    OOP 反射 & 元类
    OOP 内置函数
  • 原文地址:https://www.cnblogs.com/maku/p/7903424.html
Copyright © 2011-2022 走看看