微信公眾號開發流程


  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解析傳給對象,對用戶信息進行入庫操作等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM