一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語(yǔ)言|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java微信公眾平臺(tái)之群發(fā)接口(高級(jí)群發(fā))

Java微信公眾平臺(tái)之群發(fā)接口(高級(jí)群發(fā))

2021-04-27 11:22Phil_Jing Java教程

這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)之群發(fā)接口,高級(jí)群發(fā)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

再次吐槽下,微信素材管理和群發(fā)這塊文檔對(duì)java很不友好,此文需要結(jié)合我前文官方文檔

測(cè)試號(hào)調(diào)試群發(fā)只需看是否群發(fā)消息是否能組裝成功,不需要看結(jié)果如何(反正不會(huì)發(fā)送成功的),因?yàn)槲⑿胚€沒(méi)開(kāi)放這個(gè)功能(估計(jì)也不會(huì)開(kāi)放的)。

一、群發(fā)說(shuō)明

在公眾平臺(tái)網(wǎng)站上,為訂閱號(hào)提供了每天一條的群發(fā)權(quán)限,為服務(wù)號(hào)提供每月(自然月)4條的群發(fā)權(quán)限。

1、對(duì)于認(rèn)證訂閱號(hào),群發(fā)接口每天可成功調(diào)用1次,此次群發(fā)可選擇發(fā)送給全部用戶或某個(gè)標(biāo)簽;

2、對(duì)于認(rèn)證服務(wù)號(hào)雖然開(kāi)發(fā)者使用高級(jí)群發(fā)接口的每日調(diào)用限制為100次,但是用戶每月只能接收4條,無(wú)論在公眾平臺(tái)網(wǎng)站上,還是使用接口群發(fā),用戶每月只能接收4條群發(fā)消息,多于4條的群發(fā)將對(duì)該用戶發(fā)送失??;

3、開(kāi)發(fā)者可以主動(dòng)設(shè)置 clientmsgid 來(lái)避免重復(fù)推送。

4、群發(fā)接口每分鐘限制請(qǐng)求60次,超過(guò)限制的請(qǐng)求會(huì)被拒絕。

5、圖文消息正文中插入自己帳號(hào)和其他公眾號(hào)已群發(fā)文章鏈接的能力。

二、群發(fā)圖文消息過(guò)程

1、首先,預(yù)先將圖文消息中需要用到的圖片,使用上傳圖文消息內(nèi)圖片接口,上傳成功并獲得圖片 url;參考前文的上傳圖文消息內(nèi)的圖片獲取url方法
2、上傳圖文消息素材,需要用到圖片時(shí),請(qǐng)使用上一步獲取的圖片 url;
3、使用對(duì)用戶標(biāo)簽的群發(fā),或?qū)?openid 列表的群發(fā),將圖文消息群發(fā)出去,群發(fā)時(shí)微信會(huì)進(jìn)行原創(chuàng)校驗(yàn),并返回群發(fā)操作結(jié)果;
4、在上述過(guò)程中,如果需要,還可以預(yù)覽圖文消息、查詢?nèi)喊l(fā)狀態(tài),或刪除已群發(fā)的消息等。

三、群發(fā)圖片、文本等其他消息類型的過(guò)程

1、如果是群發(fā)文本消息,則直接根據(jù)下面的接口說(shuō)明進(jìn)行群發(fā)即可;
2、如果是群發(fā)圖片、視頻等消息,則需要預(yù)先通過(guò)素材管理接口準(zhǔn)備好 mediaid。

四、is_to_all說(shuō)明

用于設(shè)定是否向全部用戶發(fā)送,值為true或false,選擇true該消息群發(fā)給所有用戶,選擇false可根據(jù)tag_id發(fā)送給指定群組的用戶。

五、兩種群發(fā)方式

根據(jù)標(biāo)簽進(jìn)行群發(fā),訂閱號(hào)與服務(wù)號(hào)必須通過(guò)認(rèn)證

接口:https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=access_token

根據(jù)openid列表群發(fā),只適用于認(rèn)證后的服務(wù)號(hào)

接口:https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=access_token

post數(shù)據(jù)可以是圖文消息、文本、語(yǔ)音/音頻、圖片、視頻、卡券消息(所有使用到media_id的地方,現(xiàn)在都可以使用素材管理中的永久素材media_id了)

1、圖文消息post數(shù)據(jù)中的media_id需要通過(guò)上傳圖文消息素材接口獲取(https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=access_token)
這個(gè)跟素材管理里的新增永久圖文素材接口post數(shù)據(jù)一樣,只是接口不一樣、返回的json多了一個(gè)type和created_at,參考我前文的新增永久圖文素材方法
2、語(yǔ)音/音頻、圖片post數(shù)據(jù)中的media_id需要通過(guò)上傳下載多媒體文件接口獲得,參考我前文的新增臨時(shí)/永久素材方法

3、視頻post數(shù)據(jù)中的media_id最麻煩,先得通過(guò)上傳下載多媒體文件接口獲取到media_id(經(jīng)測(cè)試,永久的下一步報(bào)錯(cuò)提示無(wú)效media_id),然后再通過(guò)特別接口再獲取到一個(gè)media_id,這才是群發(fā)所需要的media_id

六、群發(fā)示例controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
@requestmapping("/sendbyopenid")
public massmsgresult sendbyopenid() throws exception {
  // 根據(jù)openid列表群發(fā)圖文消息
  string mediapath1 = "c:/users/phil/pictures/image/8538572f61d7a94cf0b9fe0f290cdb28.jpg";
  uploadmediasresult result1 = httprequtil.uploadtempmedia("phil_token", "image", mediapath1);
  string mediapath2 = "c:/users/phil/pictures/image/685977abgw1f8xqp46dgyj20qo0zktfi.jpg";
  uploadmediasresult result2 = httprequtil.uploadtempmedia("phil_token", "image", mediapath2);
  list<uploadnewsmedia> array = new arraylist<>();
  uploadnewsmedia entity1 = new uploadnewsmedia();
  entity1.setauthor("phil");
  entity1.setcontent("人生只有經(jīng)歷才會(huì)懂得,只有懂得才知道珍惜,一生中,總會(huì)有一個(gè)人讓你笑得最甜,也總會(huì)有一個(gè)人讓你痛得最深,忘記,是善待自己");
  entity1.setcontent_source_url("http://blog.csdn.net/phil_jing");
  // entity1.setdigest("digest");
  entity1.setshow_conver_pic(1);
  entity1.setthumb_media_id(result1.getmedia_id());
  entity1.settitle("心靈雞湯");
  array.add(entity1);
  uploadnewsmedia entity2 = new uploadnewsmedia();
  entity2.setauthor("phil");
  entity2.setcontent("什么是幸福,幸福就是自己的一種愉快的心理狀態(tài)和感受。時(shí)時(shí)、事事都能使自己快樂(lè)的人才是最幸福的人。最快樂(lè)的人,就是最幸福的人。笑口常開(kāi)的人,是最幸福的。");
  entity2.setcontent_source_url("http://www.qq.com");
  // entity2.setdigest("digest");
  entity2.setshow_conver_pic(0);
  entity2.setthumb_media_id(result2.getmedia_id());
  entity2.settitle(" 經(jīng)典語(yǔ)錄");
  array.add(entity2);
  uploadmediasresult ur = httprequtil.uploadnewsmedia("phil_token", array);
  list<string> openids = new arraylist<>();
  openids.add("ovhq5v9-zshucax_ntcqwip-sbcg");
  openids.add("ovhq5v6cw3inkwuscl3olodif0cc");
  massmsgresult result_news = wechatmsgservice.sendmpnewstoopenid("phil_token", openids,
  ur.getmedia_id());
  logger.debug(" send by openid msg {} " ,result_news.geterrmsg());
  // 根據(jù)openid列表群發(fā)文字消息
  massmsgresult result_text = wechatmsgservice.sendtexttoopenid("phil_token", openids,
  "什么是幸福,幸福就是自己的一種愉快的心理狀態(tài)和感受。時(shí)時(shí)、事事都能使自己快樂(lè)的人才是最幸福的人。最快樂(lè)的人,就是最幸福的人。笑口常開(kāi)的人,是最幸福的");
  logger.debug(" send by openid msg {} " ,result_text.geterrmsg());
  return null;
}

七、部分用到的類和方法

群發(fā)方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
/**
 * 根據(jù)標(biāo)簽進(jìn)行群發(fā)文本消息
 * @param accesstoken 授權(quán)token
 * @param entity 圖文消息對(duì)象
 * @return
 */
public massmsgresult sendtexttotag(string accesstoken, int tagid, string content){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> filterparams = new hashmap<>();
  filterparams.put("is_to_all", false);
  filterparams.put("tag_id", tagid);
  map<string, object> textparams = new hashmap<>();
  textparams.put("content", content);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("filter", filterparams);
  dataparams.put("text", textparams);
  dataparams.put("msgtype", "text");
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_all_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)標(biāo)簽進(jìn)行群發(fā)圖文消息
 * @param accesstoken 授權(quán)token
 * @param tagid 標(biāo)簽
 * @param mediaid uploadmedia方法獲得
 * @return
 */
public massmsgresult sendmpnewstotag(string accesstoken, int tagid, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> filterparams = new hashmap<>();
  filterparams.put("is_to_all", false);
  filterparams.put("tag_id", tagid);
  map<string, object> mpnewsparams = new hashmap<>();
  mpnewsparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("filter", filterparams);
  dataparams.put("mpnews", mpnewsparams);
  dataparams.put("msgtype", "mpnews");
  dataparams.put("send_ignore_reprint", 0);//不能省略
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_all_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)標(biāo)簽進(jìn)行群發(fā)圖片
 * @param accesstoken 授權(quán)token
 * @param tagid 標(biāo)簽
 * @param mediaid uploadmedia方法獲得
 * @return
 */
public massmsgresult sendimagetotag(string accesstoken, int tagid, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> filterparams = new hashmap<>();
  filterparams.put("is_to_all", false);
  filterparams.put("tag_id", tagid);
  map<string, object> imageparams = new hashmap<>();
  imageparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("filter", filterparams);
  dataparams.put("image", imageparams);
  dataparams.put("msgtype", "image");
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_all_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)標(biāo)簽進(jìn)行群發(fā)語(yǔ)音/音頻
 * @param accesstoken 授權(quán)token
 * @param tagid 標(biāo)簽
 * @param mediaid uploadmedia方法獲得
 * @return
 */
public massmsgresult sendvoicetotag(string accesstoken, int tagid, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> filterparams = new hashmap<>();
  filterparams.put("is_to_all", false);
  filterparams.put("tag_id", tagid);
  map<string, object> voiceparams = new hashmap<>();
  voiceparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("filter", filterparams);
  dataparams.put("voice", voiceparams);
  dataparams.put("msgtype", "voice");
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_all_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)標(biāo)簽進(jìn)行群發(fā)視頻
 * @param accesstoken 授權(quán)token
 * @param tagid 標(biāo)簽
 * @param mediaid uploadmedia方法獲得
 * @return
 */
public massmsgresult sendvideototag(string accesstoken, int tagid, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> filterparams = new hashmap<>();
  filterparams.put("is_to_all", false);
  filterparams.put("tag_id", tagid);
  map<string, object> mpvideoparams = new hashmap<>();
  mpvideoparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("filter", filterparams);
  dataparams.put("mpvideo", mpvideoparams);
  dataparams.put("msgtype", "mpvideo");
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_all_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)標(biāo)簽進(jìn)行群發(fā)卡券
 * @param accesstoken 授權(quán)token
 * @param tagid 標(biāo)簽
 * @param card_id
 * @return
 */
public massmsgresult sendwxcardtotag(string accesstoken, int tagid, string cardid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> filterparams = new hashmap<>();
  filterparams.put("is_to_all", false);
  filterparams.put("tag_id", tagid);
  map<string, object> wxcardparams = new hashmap<>();
  wxcardparams.put("card_id", cardid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("filter", filterparams);
  dataparams.put("wxcard", wxcardparams);
  dataparams.put("msgtype", "wxcard");
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_all_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)openid進(jìn)行群發(fā)圖文消息
 * @param accesstoken 授權(quán)token
 * @param tagid 標(biāo)簽
 * @param mediaid uploadmedia方法獲得
 * @return
 */
public massmsgresult sendmpnewstoopenid(string accesstoken, list<string> openids, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> mpnewsparams = new hashmap<>();
  mpnewsparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("touser", openids);
  dataparams.put("mpnews", mpnewsparams);
  dataparams.put("msgtype", "mpnews");
  dataparams.put("send_ignore_reprint", 0);
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)openid進(jìn)行群發(fā)文本消息
 * @param accesstoken 授權(quán)token
 * @param openids openid
 * @param content
 * @return
 */
public massmsgresult sendtexttoopenid(string accesstoken, list<string> openids, string content){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> textparams = new hashmap<>();
  textparams.put("content", content);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("touser", openids);
  dataparams.put("text", textparams);
  dataparams.put("msgtype", "text");
  string data = jsonutil.tojsonstring(dataparams);
  system.out.println(data);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)openid進(jìn)行群發(fā)語(yǔ)音消息
 * @param accesstoken 授權(quán)token
 * @param openids openid
 * @param mediaid
 * @return
 */
public massmsgresult sendvocietoopenid(string accesstoken, list<string> openids, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> voiceparams = new hashmap<>();
  voiceparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("touser", openids);
  dataparams.put("voice", voiceparams);
  dataparams.put("msgtype", "voice");
  string data = jsonutil.tojsonstring(dataparams);
  system.out.println(data);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
 
/**
 * 根據(jù)openid進(jìn)行群發(fā)圖片消息
 * @param accesstoken 授權(quán)token
 * @param openids openid
 * @param mediaid
 * @return
 */
public massmsgresult sendimagetoopenid(string accesstoken, list<string> openids, string mediaid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> imageparams = new hashmap<>();
  imageparams.put("media_id", mediaid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("touser", openids);
  dataparams.put("image", imageparams);
  dataparams.put("msgtype", "image");
  string data = jsonutil.tojsonstring(dataparams);
  system.out.println(data);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)openid進(jìn)行群發(fā)視頻消息
 * @param accesstoken 授權(quán)token
 * @param openids openid
 * @param mpvideomedia uploadmediavideo方法獲得media
 * @return
 */
public massmsgresult sendvideotoopenid(string accesstoken, list<string> openids, mpvideomedia mpvideomedia){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("touser", openids);
  dataparams.put("mpvideo", mpvideomedia);
  dataparams.put("msgtype", "mpvideo");
  string data = jsonutil.tojsonstring(dataparams);
  system.out.println(data);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}
 
/**
 * 根據(jù)openid進(jìn)行群發(fā)卡券消息
 * @param accesstoken 授權(quán)token
 * @param openids openid
 * @param mediaid
 * @return
 */
public massmsgresult sendwxcardtoopenid(string accesstoken, list<string> openids, string cardid){
  massmsgresult result = null;
  treemap<string, string> params = new treemap<>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  map<string, object> wxcardparams = new hashmap<>();
  wxcardparams.put("card_id", cardid);
  treemap<string,object> dataparams = new treemap<>();
  dataparams.put("touser", openids);
  dataparams.put("wxcard", wxcardparams);
  dataparams.put("msgtype", "wxcard");
  string data = jsonutil.tojsonstring(dataparams);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.send_mass_message_url, params, data);
  try {
    result = jsonutil.fromjsonstring(json, massmsgresult.class);
  } catch (exception e) {
    e.printstacktrace();
  }
  return result;
}

視頻post數(shù)據(jù)bean

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * 視頻post數(shù)據(jù)bean
 * @author phil
 * @date 2017年9月20日
 *
 */
public class mpvideomedia { 
  private string media_id;  
  private string title;
  private string description;
}

獲取群發(fā)視頻post中的media_id

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * 獲取群發(fā)視頻post中的media_id
 *
 * @param accesstoken
 * @param uploadvideo
 * @return
 */
public static uploadmediasresult uploadmediavideo(string accesstoken, mpvideomedia mpvideomedia) {
  uploadmediasresult result = null;
  treemap<string, string> params = new treemap<string, string>();
  params.put("access_token", accesstoken);
  // post 提交的參數(shù)
  string data = jsonutil.tojsonstring(mpvideomedia);
  string json = httprequtil.httpsdefaultexecute(systemconfig.post_method, wechatconfig.upload_video_media_url,
      params, data);
  result = jsonutil.fromjsonstring(json, uploadmediasresult.class);
  return result;
}

群發(fā)返回的結(jié)果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.phil.wechat.msg.model.resp;
 
import com.phil.wechat.base.result.resultstate;
 
/**
 * 群發(fā)消息返回的結(jié)果
 * 根據(jù)openid列表群發(fā)
 * @author phil
 * @date 2017年7月2日
 *
 */
public class massmsgresult extends resultstate{ 
   
  private string type; //媒體文件類型,分別有圖片(image)、語(yǔ)音(voice)、視頻(video)和縮略圖(thumb),次數(shù)為news,即圖文消息 
  private string msg_id; 
  private string msg_data_id; 

配置類

?
1
2
3
4
5
6
7
8
// 按分組進(jìn)行群發(fā)
public static final string send_all_mass_message_url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall";
// 按照openid進(jìn)行群發(fā)消息(openid最少2個(gè),最多10000個(gè) 10000個(gè))
public static final string send_mass_message_url = "https://api.weixin.qq.com/cgi-bin/message/mass/send";
//上傳圖文消息素材
public static final string upload_news_media_url = "https://api.weixin.qq.com/cgi-bin/media/uploadnews";
//獲取群發(fā)視頻post中的media_id
public static final string upload_video_media_url = " https://api.weixin.qq.com/cgi-bin/media/uploadvideo";

關(guān)于源碼,希望幫到了你

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/phil_jing/article/details/78764879

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美一级夜夜爽w | 911福利视频 | 法国老妇性xx在线播放 | 免费特黄一区二区三区视频一 | 闺蜜调教我做她的脚奴 | 性一交一无一伦一精一品 | 久久综合老色鬼网站 | 国产成人在线综合 | 日韩免费在线看 | 国产成人99久久亚洲综合精品 | 欧美一级二级片 | 亚洲欧美日韩另类精品一区二区三区 | 2021麻豆剧果冻传媒入口永久 | 91人人在线 | 成人永久免费福利视频网站 | 天堂久久久久va久久久久 | a免费看| 日韩一区二区三区不卡视频 | 国产成人h视频在线播放网站 | 大学生按摩黄a级中文片 | 奇米888在线看奇米999 | 国产福利专区精品视频 | 国模孕妇季玥337p人体 | 久久永久免费视频 | 成人免费体验区福利云点播 | 四虎永久在线精品波多野结衣 | 国产九九热视频 | 99精品视频在线观看 | 午夜dj影院在线视频观看完整 | 草莓茄子丝瓜番茄小蝌蚪 | 丝瓜茄子绿巨人秋葵榴莲污 | 女人pp被扒开流水了 | 暖暖日本在线观看免费 | 精品蜜臀AV在线天堂 | 美女隐私部位视频网站 | 忘忧草在线 | 亚洲国产成人精品不卡青青草原 | 亚洲精品九色在线网站 | 欧美娇小性xxxx | 无限韩国视频免费播放 | 日韩精品免费一区二区三区 |