接口调用微信公众号群发功能,绕过微信自身限制

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。接口调用微信公众号群发功能,绕过微信自身限制,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

微信群发功能要求要微信认证。微信认证要求要企业账号、而且需要认证费用。
本篇文章教大家非微信认证账号如何群发公众号信息
本篇文章基于python语言开发,其他的语言一样的方式,不需要拘泥于语言

微信群发要求认证

注意事项:

  1. 要求有微信公众平台登陆状态,也就是Cookie数据, 如何通过Python调用微信公众平台并保存登录态,请看我的另外一篇文章python调用微信登陆
  2. 程序只能绕过群发要求微信认证功能,不能绕过次数限制
  3. 群发次数限制为一天一次,微信限制的。 第二次调用会返回异常

具体代码如下:

import json
import os
import time
from datetime import datetime
import random

import requests
from lxml import html, etree

class graspArticle:
    def __init__(self, infos_return, session):
        self.url = "https://mp.weixin.qq.com"
        self.token = self.extract_token(infos_return['redirect_url'])
        self.session = session
        self.headers = {
            'Host': 'mp.weixin.qq.com',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36 Edg/86.0.622.63'
        }

    # 非官方API,获取你的草稿文章
    # 因为发送文章不能使用文章编码,也就是官方返回的media_id,必须使用文章ID   
    def get_news_list(self, page=0, pagesize=10, type=77):
        t = str(int(time.time())) + str(random.randint(100, 999))
        begin = page * pagesize
        submit_url = f"https://mp.weixin.qq.com/cgi-bin/appmsg?token={self.token}&lang=zh_CN&type={type}&action=list&begin={begin}&count=10&f=json&random=0.{t}"

        headers = {
            'Referer': f"https://mp.weixin.qq.com/cgi-bin/masssendpage?t=mass/send&token={self.token}&lang=zh_CN",
            'X-Requested-With': 'XMLHttpRequest',
        }

        response = self.session.get(submit_url, headers=headers)
        data = json.loads(response.text)
        if data['base_resp']['ret'] != 0:
            raise Exception(f"获取图文列表失败,错误信息: {data['base_resp']['ret']} - {data['base_resp']['err_msg']}")
        return data['app_msg_info']['item']

    # 非官方API,群发图文信息
    # 这里的app_msg_id,通过调用get_news_list来返回
    # 注意,非认证用户群发只能调用一次! 群发成功后,第二次调用则会提示异常
    def send_mass(self, app_msg_id):
        url = 'https://mp.weixin.qq.com/cgi-bin/masssend'
        payload = {
            'type': '10',
            'appmsgid': app_msg_id,
            'sex': '0',
            'groupid': '-1',
            'synctxweibo': '0',
            'synctxnews': '0',
            'country': '',
            'province': '',
            'city': '',
            'imgcode': '',
            'token': self.token,
            'lang': 'zh_CN',
            'random': random.random(),
            'f': 'json',
            'ajax': '1',
            't': 'ajax-response',
        }
        headers = {
            'Referer': f"https://mp.weixin.qq.com/cgi-bin/masssendpage?t=mass/send&token={self.token}&lang=zh_CN",
            'X-Requested-With': 'XMLHttpRequest',
        }

        response = self.session.post(url, headers=headers, data=payload)
        data = json.loads(response.text)
        if data['base_resp']['ret'] != 0:
            raise Exception(f"群发图文信息失败,错误信息: {data['base_resp']['ret']} - {data['base_resp']['err_msg']}")

完整源代码可以通过微信公众账号客服留言索要,目前还未折腾自动发放资源功能
公众号二维码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181681.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!