python自动发文章到微信公众号4-群发消息

news/2024/11/17 4:57:10/

使用Python发送群发消息。具体的实现步骤如下:

  1. 导入必要的库:
pythonCopy Codeimport requests
  1. 构建请求的URL和参数:
pythonCopy Codeurl = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN"

需要替换ACCESS_TOKEN为有效的访问令牌。

  1. 构建请求的数据,这里以发送图文消息为例:
pythonCopy Codedata = {"filter": {"is_to_all": False,"tag_id": 2},"mpnews": {"media_id": "123dsdajkasd231jhksad"},"msgtype": "mpnews","send_ignore_reprint": 0
}

其中,filter用于设置接收者,mpnews用于设置即将发送的图文消息,media_id是需要群发的消息的媒体ID。

  1. 发送POST请求:
pythonCopy Coderesponse = requests.post(url, json=data)
  1. 处理响应:
pythonCopy Coderesult = response.json() if result["errcode"] == 0:     print("群发消息发送成功!")     print("消息ID:", result["msg_id"]) else:     print("群发消息发送失败,错误信息:", result["errmsg"])微信API文档如下:根据标签进行群发【订阅号与服务号认证后均可用】
接口调用请求说明
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN
POST数据示例如下:
图文消息(注意图文消息的media_id需要通过上述方法,或通过 “草稿箱 / 新建草稿” 接口来得到,海外微信公众号仅支持发送图文(mpnews)消息):
{    "filter":{       "is_to_all":false,       "tag_id":2    },    "mpnews":{       "media_id":"123dsdajkasd231jhksad"    },     "msgtype":"mpnews",     "send_ignore_reprint":0 } 

参数说明

参数是否必须说明
filter用于设定图文消息的接收者
is_to_all用于设定是否向全部用户发送,值为true或false,选择true该消息群发给所有用户,选择false可根据tag_id发送给指定群组的用户
tag_id群发到的标签的tag_id,参见用户管理中用户分组接口,若is_to_all值为true,可不填写tag_id
mpnews用于设定即将发送的图文消息
media_id用于群发的消息的media_id
recommend推荐语,不填则默认为“分享图片”
msgtype群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为video,卡券为wxcard
title消息的标题
description消息的描述
thumb_media_id视频缩略图的媒体ID
send_ignore_reprint图文消息被判定为转载时,是否继续群发。 1为继续群发(转载),0为停止群发。 该参数默认为0。

返回说明

参数说明
type媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb),图文消息为news
errcode错误码
errmsg错误信息
msg_id消息发送任务的ID
msg_data_id消息的数据ID,该字段只有在群发图文消息时,才会出现。可以用于在图文分析数据接口中,获取到对应的图文消息的数据,是图文分析数据接口中的msgid字段中的前半部分,详见图文分析数据接口中的msgid字段的介绍。

请注意:在返回成功时,意味着群发任务提交成功,并不意味着此时群发已经结束,所以,仍有可能在后续的发送过程中出现异常情况导致用户未收到消息,如消息有时会进行审核、服务器不稳定等。此外,群发任务一般需要较长的时间才能全部发送完毕,请耐心等待。

返回数据示例(正确时的JSON返回结果):

{"errcode":0,"errmsg":"send job submission success","msg_id":34182, "msg_data_id": 206227730
}

错误码

返回码含义
41040字数≥300字,才能声明文字原创

http://www.ppmy.cn/news/1052825.html

相关文章

c++——默认参数和占位参数

默认参数和占位参数 一、默认参数 C允许赋予函数参数默认值&#xff0c;即在调用该函数时&#xff0c;可以不写某些参数的值&#xff0c;编译器会自动把默认值传递给调用语句中。 1、基本语法 void fun01(int a 1, int b 2){cout << a << " "<&…

CSS打字回删效果动画源码

<!DOCTYPE html> <html lang="en"> <head><meta charset

阿里云席明贤:明天的视频云2.0

编者按 本文是“解构多媒体新常态”系列文章的第二篇&#xff0c;LiveVideoStack对话了阿里云视频云负责人席明贤&#xff08;花名右贤&#xff09;。面对风云变幻的内外环境&#xff0c;阿里云在视频云赛道是坚定向前的&#xff0c;在与右贤的接触中&#xff0c;他给我留下非常…

Vim学习(四)——命令使用技巧

命令模式 打开文本默认模式&#xff0c;按**【ESC】**重新进入 【/关键字】&#xff1a;搜索匹配关键字 G&#xff1a;最后一行 gg&#xff1a;第一行 hjkl:左下右上 yy: 复制一行 dd&#xff1a;删除一行 p:粘贴 u: 撤销插入模式 按**【i / a / o】**键均可进入文本编辑模式…

Vue 框架如何获取数组中的值?

在Vue框架中&#xff0c;获取数组中的值可以通过以下几种方式实现&#xff1a; 1、使用数组索引&#xff1a; 可以使用数组的索引来获取特定位置的值。在Vue中&#xff0c;可以通过在模板中使用差值表达式或指令来获取数组中的值。例如&#xff1a; <div>{{ myArray[0]…

【Unity】如何制作小地图

我们为什么要制作小地图呢&#xff1f; 原因很简单&#xff1a; 导航和定位&#xff1a;小地图可以显示玩家当前位置以及周围环境的概览。这使得玩家能够更好地导航和定位自己在游戏中的位置&#xff0c;找到目标或避开障碍物。场景了解&#xff1a;通过小地图&#xff0c;玩…

【带着学Pytorch】2、张量(Tensor)的介绍与创建

一、Tensor介绍 1.1、 张量是什么? 最开始在出现CPU和GPU, GPU出现主要解决的问题时并行计算,在此基础上的软件层面的工作基本上围绕着并行计算进行的,张量也不例外。 首先,我们先来聊聊 编程语言,python,java ,C,C++等,他们都有的共同特点是什么?在大学中计算机类…

Shell编程及自动化运维实现

Linux Shell编程及自动化运维实现 变量 Linux Shell编程及自动化运维实现 判断 Linux Shell编程及自动化运维实现 循环 Linux Shell编程及自动化运维实现 数组和函数 Linux Shell编程及自动化运维实现 三剑客 Linux Shell编程及自动化运维实现 综合实战 什么是…