1. 程式人生 > >微信入門開發(java)----第一章:access_token和openid的獲取

微信入門開發(java)----第一章:access_token和openid的獲取

 我是一個java程式設計師,一直以來做的都是Web專案。有一段時間,公司業務比較多。導致負責公司公眾號維護的專案組同事都去幫忙了,所有我就暫時負責一段時間公司的公眾號的二次開發。之前做過支付寶的開發。在接觸微信開發之後,發現微信開發裡面的限制很多。相比較支付寶而言也比較苛刻。接觸一段時間後,慢慢也瞭解了微信開發的流程。寫這篇部落格的目的呢。一是寫了後期自己看,畢竟有時候,很容易忘記,寫下來,算有個筆記。二來呢,針對第一次接觸微信開發的童鞋們,微信技術文件看起來還是講的比較官方和晦澀。我這裡呢,用程式碼示例和大白話簡單說一下,也幫助各位微信開發的新人去了解。好了,閒話少說,我先說說微信開發的流程。
 建議之前最好能認真讀一篇微信技術開發文件:
 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5
 好了,我簡單說一下我一開始開發的流程吧。
 開發前準備:申請公眾號,公司開發的話,公司會提前申請號一個公眾號。如果沒有的話,可以自己申請一個測試的微信公眾號,裡面的介面能滿足大部分的開發測試。下面是我的測試號。其中域名一定要注意了,這個域名是與你微信公號進行繫結的,在繫結成功之後,微信公號會這個這個域名授權。意思是微信的回撥函式會回撥到這個域名下的某一個方法或者頁面。如果沒有公眾號與域名沒有繫結的話,公眾號無法進行回撥的。我開發時用的是公司的測試公眾號。

這裡寫圖片描述
獲取access_token:微信開發文件獲取access_token的說明連線:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183。上面說的很清楚。一般access_token在本地儲存是通過redis伺服器或者資料庫進行儲存。有條件。建議最好用redis儲存。下面專案裡面獲取access_token的程式碼。獲取的access_token的自行儲存
這裡寫圖片描述

這裡寫圖片描述
獲取openid:openid微信裡面也說明。說明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

。我這邊也簡單說明一下吧。openid就是某一個使用者通過微信掃描關注了你的公眾號後,微信針對你的公眾號給這個微信使用者分配的唯一且不重複的標識。打個比喻。你的公眾號是一個網站,而這個openid就是這個人登入你的網站時用的登入名。這樣應該就明白了吧。只要這個人通過微信掃描的二維碼的訪問路徑是訪問到你的公眾號專案裡面的,你就可以通過程式碼獲取到這個人openid。當然你可以根據這個openid查詢到這個人的基本資訊。這個openid的常規作用就是標識的作用。下面是獲取openid的程式碼:

第一步:我這邊二維碼掃描的路徑是直接訪問到IuuiLoginController的loginQueryUser方法

第二步:這裡我說明一下,host引數的意思:因為在獲取openid之前還需要獲取到一個引數,使用者授權的code。所以host中的OpenIdHandler是獲取code的方法;config.APPID是你公眾號的APPid
這裡寫圖片描述

第三步:在專案裡面配置OpenIdHandler的路徑,在web.xml配置
這裡寫圖片描述

第四步:OpenIdHandler的方法。獲取到code之後。根據code再獲取的openid,並把openid儲存到session裡面。為什麼要儲存到session裡面呢,因為這個方法執行完成之後回重定向,重新再訪問一次IuuiLoginController裡面loginQueryUser方法,防止獲取的openid丟失問題,所以才會儲存到session裡面
這裡寫圖片描述

第五步:回到IuuiLoginController裡面loginQueryUser方法,這個時候從session裡面就能取到Openid方法了。
這裡寫圖片描述

好了,暫時說到這裡了,如果有錯誤的地方,請各位大能多多批評。也是剛剛才接觸微信開發不久。後面如果再學到其他的關於微信的知識點。我會及時的梳理並且與大家分享。謝謝!

相關推薦

入門開發(java)----第一access_tokenopenid獲取

我是一個java程式設計師,一直以來做的都是Web專案。有一段時間,公司業務比較多。導致負責公司公眾號維護的專案組同事都去幫忙了,所有我就暫時負責一段時間公司的公眾號的二次開發。之前做過支付寶的開發。在接觸微信開發之後,發現微信開發裡面的限制很多。相比較支付寶

卜若的程式碼筆記系列-小程式系列-第一上傳檔案給srpingboot伺服器-4001

系列背景: 本系列主要目的在於微信小程式和springboot之間的互動,至於微信小程式的相關基礎建議同學去其他部落格去學習。 備註: 1.因為我沒有業務域名,所以在做微信小程式的時候,無法使用真機進行訪問,使用開發版時,需要勾選禁止域名校驗 背景: 本篇博文主

入門小程式 】第一 配置請求域名

CentOS 搭建微信小程式服務(參考騰訊官方教程) 實驗內容 小程式無疑是今年網際網路的重大熱點。本實驗帶您從零開始,基於 NodeJS 搭建起一個可以支撐小程式執行的服務,包括 HTTPS 部署、會話服務、WebSocket 服務,最後利用這些服務實現一個實時的剪刀石頭布小遊戲。

Spring Boot企業點餐系統-第一-課程介紹

win maven 開發環境 ast 介紹 前端 pri 系統 詳細說明 一、項目簡介——技術要點 前端和後端: 後端主要技術: 微信接口技術 微信支付 微信掃碼登錄 微信模板消息推送 開發環境 但實際上我用的環境和這上面還是有點不一樣,我服務器用的是win,到

“全棧2019”Java第一安裝JDK11(Mac)

安裝 開發環境 ref 進步 技術分享 mac com 第一章 計劃 難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 文章原文鏈接 “全棧2019”Java第一章:安裝JDK11(Mac) 下一章 “全棧2019”Java

《Flask 入門教程》第一準備工作

在通過這本書學習 Flask 開發前,我假設你瞭解了 Python 和 HTML 的基礎知識。你的 Python 版本可以是 2.7,也可以是 3.3 及以上版本。電腦的作業系統可以是 Windows,也可以是 macOS 或 Linux。 安裝編輯器和瀏覽器 對於編輯器來說,每個人都有不同的偏好,你可以自由

卜若的程式碼筆記系列-小程式系列-第二小程式獲得srpingboot返回的json資料-4002

1.微信端向伺服器傳送上傳請求 wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths console.log(tempFi

登入開發-java

微信登入: 1、申請微信開放平臺,獲取微信登入介面 2、測試登入介面是否正常redirect_uri重定向地址(微信申請的http://+‘授權回撥域’),需要進行UrlEncode。https://open.weixin.qq.com/connect/qrconnect?

小程式之第一Hello World!

微信小程式開發學習的第一天:Hello Mini Programs! 為什麼要寫這篇文章? 微信作為一款擁有著數以億計的月活使用者並一直在不斷進化與演進的超級APP,在我們的日常生活中也扮演這十分重要的角色。幸運的是騰訊的微信團隊一直在致力於將微信的能力盡可

MySQL從入門到放棄第一初涉

初涉mysql 本系列將會從0開始學習Mysql,大部分是理論加部分例項 學習目錄 - mysql預設埠 3306 - mysql超級使用者 root - 建立資料庫 C

Batch入門教程丨第一部署與Hello World!(下)

進程 它的 名詞 block 新建 snr cal webp 主函數 在上期分享的內容中,我們已經掌握了基礎理論知識,今天我們將繼續了解和學習與Windows Batch有關的知識和編程方法,如何編寫和運行Windows Batch程序,腳本語言的入門方式等,從而能夠更加順

《數學之美》--第一文字語言 vs 數字

數學之美 png 利用 記錄 image math 解碼 進制 ogr PDF下載 第一章 文字和語言 vs 數字和信息 數字、文字和自然語言一樣,都是信息的載體,它們之間原本有著天然的聯系。語言和數學的產生都是為了同一個目的—記錄和傳播信息。但是,直到半個多世紀前香農博士

scons使用者指南第一編譯安裝SCons

如果Python沒有安裝,你會看到一條錯誤訊息比如“command not found”(在UNIX或Linux裡)或"python is not recognized as an internal or external command, operable program or batch file"(在W

APP支付(java後臺_統一下單回撥)

微信支付Java後臺1.微信配置資訊 global.properties2.方法wxpay用於生成預支付訂單資訊        方法notifyWeiXinPay用於微信支付成功後的回撥, 注意: 在手機端使用微信支付成功後,微信伺服器會根據提供的回撥地址進行回撥, para

第一Symfony2HTTP基本原理

恭喜你!通過學習Symfony2,你將用你自己的方式開發出更加高效、全面和流行的Web應用(當然,要受到用人單位或同行的歡迎,還是得靠你自己)。Symfony2的存在是為了要解決最根本的問題:即提供一個開發工具,使開發者能以自己的方式更快速地開發出更為健壯的應用程式。Symfony2集成了許多技術的優點,包括

Java EE入門教程系列第一Java EE的概述(二)——Java EE技術框架開發工具

1.3Java EE的技術框架 從技術的角度劃分,完整的Java EE分成了4個部分:元件技術、服務技術、通訊技術和架構技術。 下面給出的是一個適合初學者的體系結構簡化圖,暫時接觸不到的部分統一用“支援技術”表示,我們暫時只專注於與應用級開發相關的技術即可。 1.元件技術 這是

Java開發公眾號系列教程(一)js-sdk上傳照片相容IOS安卓裝置

很多開發者朋友在進行微信公眾號開發時,遇到微信js-sdk上傳手機相簿照片時IOS裝置無法正常預覽的情況,今天筆者結合多年的開發經驗,把相容IOS的解決方案分享給廣大微信開發者朋友。 微信最新版本JSSDK文件 地址https://mp.weixin.qq.com/advanced/wiki

【Node.js+Express公眾號開發第一服務搭建及接入

一、前言 此前微信開發,都比較依賴後端。然而有時候後端小夥伴特別忙,最近又學習了一下node的基礎知識,索性就想著自己用node整一遍。 本教程環境為linux系統centOs7系統 二、準備工作 1. 伺服器 伺服器我使用的是搬瓦工的,目前19.9美元那款,網上有

Shiro系列 | 《Shiro開發詳細教程》第一Shiro入門

1.1 Shiro簡介 Apache  Shiro是一個強大易用的Java安全框架,提供了認證、授權、加密和會話管理等功能,對於任何一個應用程式,Shiro都可以提供全面的安全管理服務、更易於理解的API。並且相對於其他安全框架,Shiro要簡單的多。 目前,使用Apac

後臺開發第一nodeJS+express接入微後臺詳細教程

歡迎各位指正,轉載請把連結帶上——http://www.cnblogs.com/xuange306/p/4971702.html 前期準備工作   1:如果你沒有伺服器,那你需要一個內網對映工具:我用的是《花生殼》(PS:這不是廣告),花生殼在實名認證是需要8RMB的認證費,之後就可以永久使用了,並且