微信公眾號模板消息接口開發(fā)Java實現(xiàn)方法代碼
公眾當(dāng)中的功能 有許許多多,目前主要介紹模板消息接口的功能使用。
目的:
為了給關(guān)注過公眾號的用戶進行消息的推送,可以群發(fā)以及給指定的用戶去發(fā)送消息,通常像一些訪客、物業(yè)報修、以及支付的結(jié)果等等都可能會運用到該接口。
使用:
在微信公眾號的開發(fā)者文檔當(dāng)中 選擇模板消息接口,其中就有接口的講解以及使用。
目前我們主要使用測試號去進行講解和使用(個人注冊訂閱號,企業(yè)主要使用服務(wù)號)。
按照以下步驟獲取公眾號的測試信息:appID、appsecret 唯一等。
獲取以下數(shù)據(jù):
然后就是進行接口配置信息,首先我們是測試的公眾號,所以只需要在以上界面當(dāng)中去驗證接口,若是正式上線則需要工具開發(fā)文檔的要求去配置服務(wù)器的信息等,規(guī)則都是相似的?。?!
所以我們需要在下面的頁面當(dāng)中配置驗證的接口:
@GetMapping("get") @ApiOperation(value = "微信公眾號驗證接口") public String init(String signature,String timestamp,String nonce,String echostr) throws NoSuchAlgorithmException { String token = "test"; List<String> stringList = Arrays.asList(token, timestamp, nonce); Collections.sort(stringList); StringBuilder stringBuilder=new StringBuilder(); for (String s : stringList) { stringBuilder.append(s); } MessageDigest sha1 = MessageDigest.getInstance("sha1"); byte[] bytes = sha1.digest(stringBuilder.toString().getBytes()); StringBuilder sum=new StringBuilder(); for (byte aByte : bytes) { sum.append(Integer.toHexString(((aByte>>4)&15))); sum.append(Integer.toHexString(aByte&15)); } if (signature!=null&&signature.equals(sum.toString())){ return echostr; } return echostr; }
首先代碼當(dāng)中的token就是在公眾號當(dāng)中配置的token需要相同,下一步就是按照文檔要求:1、將token、timestamp、nonce三個參數(shù)進行字典序排序;2、將三個參數(shù)字符串拼接成一個字符串進行sha1加密;3、開發(fā)者獲得加密后的字符串可與signature對比
具體的sha1加密算法可以去網(wǎng)上搜尋以下資料,如果成功了則就會提示配對成功!?。?/p>
注:在驗證時,若該服務(wù)部署在服務(wù)器上,則使用服務(wù)器的地址即可,若沒有服務(wù)器,則可以使用內(nèi)網(wǎng)穿透實現(xiàn)驗證。
獲取access_token:
在調(diào)用接口的時候大多數(shù)都會使用到access_token,因此我們需要按文檔要求去獲取到access_token。
以上也都是官方提供的方法以及接口調(diào)用去獲取到 access_token。
private static AccessToken getToken() throws IOException { String url=String. format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s",appid,secret); String st = HttpRestUtils.get(url, null); JSONObject jsonObject=new JSONObject(st); String access_token = jsonObject.getStr("access_token"); Long expires_in = jsonObject.getLong("expires_in"); accessToken.setToken(access_token); accessToken.setExpiresTime(expires_in); return accessToken; } public static String getAccessToken() throws IOException { if (accessToken!=null || accessToken.isExpires()){ getToken(); } return accessToken.getToken(); }
以上則是獲取到access_token,當(dāng)然access_token存在過期時間,因此在獲取到的同時也需要進行過期的判斷,如果過期了則重新獲取。
后續(xù)模板消息推送功能的操作將會發(fā)布,請持續(xù)關(guān)注?。?!
總結(jié)
到此這篇關(guān)于微信公眾號模板消息接口開發(fā)Java實現(xiàn)方法的文章就介紹到這了,更多相關(guān)微信公眾號模板消息接口開發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中過濾器、監(jiān)聽器和攔截器的區(qū)別詳解
這篇文章主要介紹了Java中過濾器、監(jiān)聽器和攔截器的區(qū)別詳解,有些朋友可能不了解過濾器、監(jiān)聽器和攔截器的區(qū)別,本文就來詳細講一下,相信看完你會有所收獲,需要的朋友可以參考下2024-01-01BeanUtils.copyProperties()參數(shù)的賦值順序說明
這篇文章主要介紹了BeanUtils.copyProperties()參數(shù)的賦值順序說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09MyBatis中XML 映射文件中常見的標(biāo)簽說明
這篇文章主要介紹了MyBatis中XML 映射文件中常見的標(biāo)簽說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07mybatis plus CU自動填充 和 軟刪除自動填充的實現(xiàn)方法
這篇文章主要介紹了mybatis plus CU自動填充 和 軟刪除自動填充的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07