日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

in java中文版百度云 thinking_小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送...

發布時間:2025/3/21 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 in java中文版百度云 thinking_小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前面寫過一篇云開發實現小程序訂閱消息(模板消息)推送的文章,《借助云開發實現小程序訂閱消息和模板消息的推送功能》是有好多同學用的是Java寫后臺,所以今天就再來寫一篇Java后臺實現小程序訂閱消息推送的文章。

老規矩先看效果圖

至于如何創建模板消息,如果獲取模板id我這節就不再講解,不知道的同學可以查看我上篇文章《借助云開發實現小程序訂閱消息和模板消息的推送功能》里面有詳細的講解。

今天呢就來重點講下如何在Java后臺編寫小程序訂閱消息推送的知識。

其實我很早之前有寫過一篇Java實現模板消息推送的,但是小程序后面用訂閱消息替換了模板推送,所以我也會根據最新的知識點不定期的更新文章的。

發送訂閱消息三步走

  • 1,拿到用戶的openid
  • 2,獲取access_token
  • 3,調用小程序消息推送的接口

一,獲取用戶的openid

關于用戶openid的獲取,我寫過很多篇文章了,也有錄過視頻出來的,還不知道怎么獲取的同學,可以取翻看下我之前的文章,或者看下我錄制的零基礎入門小程序的視頻:《5小時零基礎入門小程序云開發》 所以這一步不是今天的重點。

二,獲取access_token

首先來看下access_token是什么,下圖是官方給出的


其實通俗的講,access_token就是小程序官方給我們提供的一個憑證,你要調用小程序官方的接口,就必須先拿到access_token。所以下面先講下如果獲取access_token

  • 看下官方文檔,可以知道我們需要用到下面的幾個參數


grant_type是一個固定的值,只有appid和secret是需要我們填入的,這兩個值在我們的小程序后臺就可以拿到,我也有錄視頻教大家如何拿到,如果不知道怎么獲取的同學可以取看下我的視頻。

下面就是Java代碼的編寫了

我們這里用的是springboot,這里涉及到一個請求小程序官方接口,所以我們這里用了springboot自帶的RestTemplate來做網絡請求。具體代碼如下。


可以看出代碼很簡單,就是用RestTemplate來實現一個get請求,這樣我們就可以輕松的獲取到了access_token。

注意點

關于這個access_token,是存在有效期的,來看下官方給出的提示


所以我要在獲取到access_token的時候,把access_token存到數據庫,或者存到本地緩存,并且還要記錄當前時間,后面再用的時候先判斷這個access_token有沒有超過2個小時,如果超過2個小時的話,就要重新獲取了。由于這里不是本節的重點,我這里只給大家說下原理。

三,發送消息到小程序

我們通過上面第二步,成功的獲取到了access_token。下面就要調用小程序官方為我們提供的發送消息的接口了。先看下官方文檔。


上面的參數都是我們發送消息時需要的。這些參數的定義和設置我在前面的文章里也都講過了,不知道的同學可以去看下我前面寫的這篇文章 《借助云開發實現小程序訂閱消息和模板消息的推送功能》

這里需要注意的一點是,我們要給用戶發送消息,就必須引導用戶授權,就是下面這個圖


因為用戶不點擊允許,你是沒有辦法給用戶推送消息的。每一次授權只允許發送一條消息,所以如果你想盡量多的發送消息,就得盡量多的引導用戶授權。

推送的Java代碼如下


可以看到,我們這里需要定義用戶的openid,模板id,跳轉路徑,模板消息內容。。。

這些都定義好以后,我們就可以提供一個服務給到Java的其他代碼調用,或者提供一個接口供外界傳入openid,然后給對應的用戶推送消息了。


我們在瀏覽器里調用上面接口,可以看到下圖所示,這樣就代表我們消息推送成功了。

下面我把完整的代碼貼出來給到大家。

package com.qcl.demo;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;/*** 作者:編程小石頭* 發送小程序訂閱消息*/ @RestController public class SendWxMessage {/** 發送訂閱消息* */@GetMapping("/pushOneUser")public String pushOneUser() {return push("o3DoL0WEdzcJ20AVJg1crP96gbjM");}public String push(String openid) {RestTemplate restTemplate = new RestTemplate();//這里簡單起見我們每次都獲取最新的access_token(時間開發中,應該在access_token快過期時再重新獲取)String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + getAccessToken();//拼接推送的模版WxMssVo wxMssVo = new WxMssVo();wxMssVo.setTouser(openid);//用戶的openid(要發送給那個用戶,通常這里應該動態傳進來的)wxMssVo.setTemplate_id("CFeSWarQLMPyPjwmiy6AV4eB-IZcipu48V8bFLkBzTU");//訂閱消息模板idwxMssVo.setPage("pages/index/index");Map<String, TemplateData> m = new HashMap<>(3);m.put("thing1", new TemplateData("小程序入門課程"));m.put("thing6", new TemplateData("杭州浙江大學"));m.put("thing7", new TemplateData("第一章第一節"));wxMssVo.setData(m);ResponseEntity<String> responseEntity =restTemplate.postForEntity(url, wxMssVo, String.class);return responseEntity.getBody();}@GetMapping("/getAccessToken")public String getAccessToken() {RestTemplate restTemplate = new RestTemplate();Map<String, String> params = new HashMap<>();params.put("APPID", "wx7c54942dfc87f4d8"); //params.put("APPSECRET", "5873a729c365b65ab42bb5fc82d2ed49"); //ResponseEntity<String> responseEntity = restTemplate.getForEntity("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={APPID}&secret={APPSECRET}", String.class, params);String body = responseEntity.getBody();JSONObject object = JSON.parseObject(body);String Access_Token = object.getString("access_token");String expires_in = object.getString("expires_in");System.out.println("有效時長expires_in:" + expires_in);return Access_Token;} }

對應的兩個數據類如下
WxMssVo用來封裝請求官方接口的參數

package com.qcl.demo;import java.util.Map;/** 小程序推送所需數據* 編程小石頭* */ public class WxMssVo {private String touser;//用戶openidprivate String template_id;//訂閱消息模版idprivate String page = "pages/index/index";//默認跳到小程序首頁private Map<String, TemplateData> data;//推送文字public String getTouser() {return touser;}public void setTouser(String touser) {this.touser = touser;}public String getTemplate_id() {return template_id;}public void setTemplate_id(String template_id) {this.template_id = template_id;}public String getPage() {return page;}public void setPage(String page) {this.page = page;}public Map<String, TemplateData> getData() {return data;}public void setData(Map<String, TemplateData> data) {this.data = data;} }

TemplateData 用來定義消息的內容

package com.qcl.demo;public class TemplateData {private String value;//public TemplateData(String value) {this.value = value;}public String getValue() {return value;}public void setValue(String value) {this.value = value;} }

到這里我們就可以完整的實現Java發送小程序消息的功能了。完整代碼也已經貼給大家了。

后面我會寫更多Java和小程序相關的文章出來,敬請期待

總結

以上是生活随笔為你收集整理的in java中文版百度云 thinking_小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线观看视频一区 | 日本成人在线网站 | 久久国产精品精品国产 | 我们好看的2018视频在线观看 | 日韩欧美卡一卡二 | 视频在线观看一区二区三区 | 人妻夜夜爽天天爽三区麻豆av网站 | 国内偷拍第一页 | 日韩视频在线观看二区 | 色播在线 | 亚洲色图欧美 | 在线视频污 | 成人免费看片网站 | 三级中文字幕 | 亚洲人人人 | 欧美激情福利 | 97超碰在| 青青草国产精品视频 | 久久77777| 亚洲熟妇中文字幕五十中出 | 长河落日电视连续剧免费观看 | 中日黄色片 | 五月婷婷在线观看视频 | 国产乱码一区二区三区播放 | 精品国产乱码久久 | 重口变态虐黄网站 | 伦理片一区二区三区 | 动漫av在线 | 久久精品99北条麻妃 | 99色热| 妞干网这里只有精品 | 在线看黄的网站 | 久久久久久久久久久久久久久久久久久 | 视频在线一区二区三区 | 怡红院成人影院 | 欧洲av无码放荡人妇网站 | 欧美性潮喷xxxxx免费视频看 | 日本一级吃奶淫片免费 | 黄色aaa大片 | 蜜臀久久精品久久久久 | 国产成人一区二区三区小说 | 亚洲一区你懂的 | 欧美性啪啪 | 婷婷成人在线 | 中文字幕自拍 | 国产成人在线免费视频 | 久久靠逼视频 | 国产电影一区在线观看 | 大奶一区 | 亚洲激情短视频 | 看特级毛片 | 亚洲中文字幕一区二区在线观看 | 久久视频这里只有精品 | 亚洲国产欧美在线 | 欧美激情第二页 | 天天舔日日操 | 亚洲av人人夜夜澡人人 | 99热超碰| 日批免费观看视频 | 精品无码一区二区三区的天堂 | 黄色网久久 | 日韩av在线看| 香蕉在线视频播放 | 男女做爰猛烈刺激 | 欧美黑人粗大 | 尤物av无码色av无码 | 日本免费三级网站 | 国产精品v | 美女丝袜av| 超碰免费观看 | 天堂俺去俺来也www 欧美大片在线播放 | 第四色在线视频 | 欧美爽爽爽 | av片免费播放 | 韩国av一区二区三区 | 国产探花一区二区三区 | 婷综合| 黄色91免费版 | 少妇闺蜜换浪荡h肉辣文 | 国产亚洲精品av | 黄视频免费在线观看 | 国产高清在线免费 | 青青色在线视频 | 亚洲加勒比在线 | 日韩精品一区不卡 | 人妖被c到高潮欧美gay | 秋霞成人av | 波多野结衣91 | 日本一区视频在线播放 | 在哪里可以看黄色片 | 免费特级黄色片 | 自拍日韩亚洲一区在线 | 杨幂毛片午夜性生毛片 | 午夜av在线播放 | 久久国产精品无码一级毛片 | 国产素人av | 麻豆久久久久久久久久 | aaaaa级片 | 欧美猛交xxx |