微信公众平台 发送消息-群发接口

前言:最近做微信开发,弄了一个群发接口,本着不记录肯定会忘记的本事,在这里整理一下。多学习多进步。本文比较啰嗦,可以查看参考文章,我就是从那位大神那里学习到的。本片文章基于Spring开发,Spring提供的用于访问Rest服务的客户端。
这篇文章解决的问题:
1.上传图文消息素材
2.根据openid列表群发

官方技术文档微信公众平台技术文档

一、查看相关技术文档,确定自己业务需求

我想说明一下这里,因为本人是技术菜鸟,学习的时候查看文档,发现会多都是直接把代码一粘贴一复制就算OK,以前我也是这样,后来自己再去用的时候发现根本看不懂了,所以以后整理每一篇博客我都会很上心,把一些自己注意到的细节问题写出了方便自己以后的使用。

1:查看微信公众平台的技术文档

这里写图片描述
(1)发送消息-群发接口
群发消息,我们首先要上传消息,再群发。按照目录的第一点是上传图文消息内的图片获取URL,但是第二点上传图文消息素材。我们查看上传图文消息素材接口会发现,我们上传资源的参数是thumb_media_id。如图:
这里写图片描述
上传图文消息内的图片获取URL返回的是url,如图:
这里写图片描述
所以我们这里要使用素材管理接口
这里写图片描述
这里有两种素材,一种是临时素材,一种是永久素材,区别自己查看接口就能知道,这里讲解上传临时素材,毕竟永久素材上传是有个数的。

调用临时素材接口就可以返回media_id,就是我们上传图文消息素材需要的thumb_media_id参数数据了。

现在开始正式java接口开发。

二、获取access_token

参考柳峰文章:
微信公众平台开发教程第22篇-如何保证access_token长期有效

三、新增临时素材

1:接口调用请求说明

(1)请参参数
这里写图片描述
(2)java接口开发

public final class MediaType {
   

    public static final String APPLICATION_XML = "application/xml;charset=UTF-8";

    public static final String APPLICATION_JSON = "application/json;charset=UTF-8";

    public static final String APPLICATION_X_WWW_F_U = "application/x-www-form-urlencoded;charset=UTF-8";

}

GroupSendMessageApi接口

package com.weixin.message.api;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import com.basic.protocol.MediaType;
import com.weixin.message.model.Articles;
import com.weixin.message.model.FilePathData;
import com.weixin.message.model.GroupSendResponse;
import com.weixin.message.model.MessageData;
import com.weixin.message.model.UploadResponse;

/**
 * 接口名:群发消息接口
 * 创建时间:2017-05-26
 * 开发者: wangql
 */
@Path("/groupSendMessage")
public interface GroupSendMessageApi {

    /**
     * 上传临时素材
     * @param filePath
     * @return
     */
    @POST
    @Path("/uploadMatter")
    @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON })
    @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON })
    public UploadResponse fileUpload(FilePathData filePath);    

}

FilePathData请求数据

package com.weixin.message.model;

public class FilePathData {

    private String filePath;//文件路径

    private String type;//文件类型 默认image

    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

}

GroupSendMessageApiImp

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你需要使用微信公众平台提供的群发接口来实现PHP微信群接口。具体步骤如下: 1. 首先,你需要在微信公众平台上创建一个公众号,并获取到该公众号的AppID和AppSecret。 2. 然后,你需要在你的PHP代码中调用微信公众平台提供的群发接口。该接口可以通过HTTP请求来调用。 3. 在调用群发接口前,你需要先获取到一个access_token。可以通过HTTP请求获取到该access_token。获取access_token的API如下: ``` https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET ``` 其中,APPID和APPSECRET是你在微信公众平台上创建的公众号的AppID和AppSecret。 4. 获取到access_token后,你就可以调用微信公众平台提供的群发接口了。该接口的请求地址如下: ``` https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN ``` 其中,ACCESS_TOKEN是上一步获取到的access_token。 5. 在调用群发接口时,你需要将要发送消息以JSON格式传递给该接口。JSON格式的消息可以参考微信公众平台提供的消息格式。例如,要发送一个文本消息,可以使用以下JSON格式: ``` { "filter":{ "is_to_all":true }, "text":{ "content":"Hello World" }, "msgtype":"text" } ``` 其中,"content"字段表示要发送的文本内容。 6. 最后,调用群发接口发送群发消息。如果发送成功,接口会返回一个JSON格式的响应。 注意:微信公众平台有一些发送消息的限制,比如每月只能发送4条图文消息等。如果发送消息失败,可以查看微信公众平台返回的错误信息,根据错误信息来调整发送内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值