天天看點

微信公衆平台開發(15)--群發消息

1. 概述

群發消息的意思是将消息發給一群人,這個好了解。當然,公衆平台這個領域,群發消息是要發給關注了本公衆号的人群的。

公衆号提供了兩種群發方式,一個是發給多個openid,一個是按标簽發送,接下來實作下。

2. 代碼部分

代碼比較簡單如下,注意兩種發送方式使用的類不同。

/**

* 群發消息控制器

*/

@Api(tags = "群發消息API")

@RestController

public class MassMessageController {

@Autowired

private WxMpService wxMpService;

@ApiOperation(value = "指定openids發送")

@PostMapping("/massOpenIdsMessageSend")

public WxMpMassSendResult massOpenIdsMessageSend(@RequestParam("openids") String[] openids, @RequestParam("content") String content) throws WxErrorException {

 WxMpMassOpenIdsMessage massMessage = new WxMpMassOpenIdsMessage();

 massMessage.setMsgType(WxConsts.MassMsgType.TEXT);

 massMessage.setContent(content);

 for (String openid : openids) {

  massMessage.getToUsers().add(openid);

 }

 WxMpMassSendResult massResult = wxMpService.getMassMessageService().massOpenIdsMessageSend(massMessage);

 return massResult;

}

@ApiOperation(value = "指定标簽發送")

@PostMapping("/massGroupMessageSend")

public WxMpMassSendResult massGroupMessageSend(@RequestParam("tagId") Long tagId, @RequestParam("content") String content) throws WxErrorException {

 WxMpMassTagMessage massMessage = new WxMpMassTagMessage();

 massMessage.setTagId(tagId);

 WxMpMassSendResult massResult = wxMpService.getMassMessageService().massGroupMessageSend(massMessage);

}

3. 測試

啟動項目後,先查詢使用者清單得到openid,然後查詢标簽清單得到tagId,然後進行接口測試即可。

注意調用成功後,對應使用者的微信會收到公衆号主動發送過來的消息。

收到後,效果如下:

4. 小結

注意群發消息需要發給多個人,是以在通過openids發送時,至少得填寫兩個人的openid。

繼續閱讀