Java調(diào)用微信客服消息實(shí)現(xiàn)發(fā)貨通知的方法詳解
本文實(shí)例講述了Java調(diào)用微信客服消息實(shí)現(xiàn)發(fā)貨通知的方法。分享給大家供大家參考,具體如下:
微信文檔地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140547&token=&lang=zh_CN
個(gè)人說(shuō)明:這是一個(gè)樣例,微信客戶(hù)消息有很多種,我現(xiàn)在用的是公眾號(hào)發(fā)送消息。樣子如下圖。

說(shuō)明:下面開(kāi)始代碼部分了。
1.首先看微信文檔。這里才是我們需要的

這里是說(shuō)發(fā)消息要POST請(qǐng)求這個(gè)接口:https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
但是這個(gè)接口后面需要帶一個(gè)參數(shù)ACCESS_TOKEN。
下面先獲取ACCESS_TOKEN。
//這里的WeixinUtil.getAccess_token()方法,放在下面。
String aToken = WeixinUtil.getAccess_token("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+你的appId+"&secret="+你的appSecret+"");
System.out.println("這里是aToken"+aToken);
String[] tokenOne = aToken.split(":");
String[] token = tokenOne[1].split(",");
char [] stringArr = token[0].toCharArray();
String token3 = "" ;
for(int i=1;i<stringArr.length-1;i++){
String token2 = String.valueOf(stringArr[i]);
token3 += token2;
}
System.out.println("這里是ACCESS_TOKEN"+token3);
獲取到一個(gè)ACCESS_TOKEN,然后就可以加入到微信請(qǐng)求中
//這里就是一個(gè)微信請(qǐng)求,首先用String放著
String tokenurl = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token="+token3;
//首先確定是發(fā)送文字消息,還是圖文消息,這里是手寫(xiě)的json數(shù)據(jù).
//發(fā)送文字消息,無(wú)連接
String json = "{\"touser\":\"這里是Openid\",\"msgtype\":\"text\",\"text\":{\"content\":\"Hello World\"}}";
//圖文消息,有鏈接連接
String jsonpic = "{\"touser\":\""+這里是Openid+"\","+ "\"msgtype\":\"news\",\"news\":{\"articles\":["+ "{\"title\":\"HelloWorld\",\"url\":\"要跳轉(zhuǎn)的鏈接"}]}}";
System.out.println("這里是json"+jsonpic);
//請(qǐng)求方法,然后放回OK 成功,否則錯(cuò)誤。這里這個(gè)請(qǐng)求方法在下邊
String xmlStr = HttpKit.post(tokenurl,jsonpic);
System.out.println("這里是xmlStr"+xmlStr);
說(shuō)明:WeixinUtil.getAccess_token()方法。我放整個(gè)類(lèi)了。改包名,只需要導(dǎo)入兩個(gè)包
package com.uitrs.weixin;
import java.net.HttpURLConnection;
import java.net.URL;
public class WeixinUtil {
//傳入U(xiǎn)RL
public static String getAccess_token(String url) {
String accessToken = null;
try {
URL urlGet = new URL(url);
HttpURLConnection http = (HttpURLConnection) urlGet
.openConnection();
http.setRequestMethod("GET"); // 必須是get方式請(qǐng)求
http.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 連接超時(shí)30秒
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 讀取超時(shí)30秒
http.connect();
InputStream is = http.getInputStream();
int size = is.available();
byte[] jsonBytes = new byte[size];
is.read(jsonBytes);
accessToken = new String(jsonBytes, "UTF-8");
System.out.println(accessToken);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
return accessToken;
}
}
說(shuō)明:HttpKit.post();方法,我放整個(gè)類(lèi)了。這個(gè)類(lèi)我用的是導(dǎo)入
import com.jfinal.kit.HttpKit;
這個(gè)包到了jfinal的包。出自下面三個(gè)包當(dāng)中,具體我也不清楚了
1.jfinal-2.2.jar (應(yīng)該是這個(gè))
2.jfinal-2.2-bin-with-src.jar
3.jfinal-weixin-1.7-bin-with-src.jar
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)組操作技巧總結(jié)》、《Java數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Java編碼操作技巧總結(jié)》和《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
- 微信java開(kāi)發(fā)之實(shí)現(xiàn)微信主動(dòng)推送消息
- java微信開(kāi)發(fā)第二步 獲取消息和回復(fù)消息
- Java開(kāi)發(fā)微信公眾號(hào)接收和被動(dòng)回復(fù)普通消息
- java微信企業(yè)號(hào)開(kāi)發(fā)之發(fā)送消息(文本、圖片、語(yǔ)音)
- JAVA實(shí)現(xiàn) springMVC方式的微信接入、實(shí)現(xiàn)消息自動(dòng)回復(fù)實(shí)例
- 微信支付java版本之JSAPI支付+發(fā)送模板消息
- java微信開(kāi)發(fā)API第二步 獲取和回復(fù)消息
- Java微信公眾平臺(tái)開(kāi)發(fā)(5) 文本及圖文消息回復(fù)的實(shí)現(xiàn)
- Java微信公眾平臺(tái)開(kāi)發(fā)(2) 微信服務(wù)器post消息體的接收
- Java微信公眾平臺(tái)開(kāi)發(fā)(3) 接收消息的分類(lèi)及實(shí)體的創(chuàng)建
- Java微信公眾平臺(tái)開(kāi)發(fā)(4) 回復(fù)消息的分類(lèi)及實(shí)體的創(chuàng)建
相關(guān)文章
Java利用Socket和IO流實(shí)現(xiàn)文件的上傳與下載
本文主要介紹了Java利用Socket和IO流實(shí)現(xiàn)文件的上傳與下載,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼
Feign是一個(gè)開(kāi)源的Java HTTP客戶(hù)端,可以幫助我們?cè)赟pringBoot應(yīng)用中快速構(gòu)建和使用HTTP客戶(hù)端,方便實(shí)現(xiàn)服務(wù)間的通信,本文就來(lái)介紹一下SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼,感興趣的可以了解一下2024-01-01
手把手教你寫(xiě)Maven的archetype項(xiàng)目腳手架
本文主要介紹了Maven的archetype項(xiàng)目腳手架,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
關(guān)于Java中的頂層類(lèi)修飾問(wèn)題
這篇文章主要介紹了關(guān)于Java中的頂層類(lèi)修飾問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
idea SpringBoot+Gradle環(huán)境配置到項(xiàng)目打包
Gradle是一個(gè)基于Java應(yīng)用的項(xiàng)目自動(dòng)化構(gòu)建工具,本文介紹了在IDEA中創(chuàng)建Spring Boot Gradle項(xiàng)目,項(xiàng)目配置包括init.gradle和settings.gradle,感興趣的可以了解一下2024-11-11
Spring-AOP @AspectJ進(jìn)階之如何綁定代理對(duì)象
這篇文章主要介紹了Spring-AOP @AspectJ進(jìn)階之如何綁定代理對(duì)象的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot整合POI導(dǎo)出通用Excel的方法示例
這篇文章主要介紹了SpringBoot整合POI導(dǎo)出通用Excel的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
java構(gòu)造器 默認(rèn)構(gòu)造方法及參數(shù)化構(gòu)造方法
構(gòu)造器也叫構(gòu)造方法、構(gòu)造函數(shù),是一種特殊類(lèi)型的方法,負(fù)責(zé)類(lèi)中成員變量(域)的初始化。構(gòu)造器的用處是在創(chuàng)建對(duì)象時(shí)執(zhí)行初始化,當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)為這個(gè)對(duì)象的實(shí)例進(jìn)行默認(rèn)的初始化,下面文章將進(jìn)入講解,需要的朋友可以參考下2021-10-10
Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法
這篇文章主要介紹了Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法,本文使用 Spock(可集成Spring Boot項(xiàng)目) 編寫(xiě)測(cè)試用例,基于 Groovy (JVM語(yǔ)言),感興趣的朋友跟隨小編一起看看吧2024-12-12

