网站更新内容:请访问: https://bigdata.ministep.cn/

微信公众号关于永久图文素材相关接口下线,WeRoBot做相应的更新

WeRoBot由于原作者暂时未更新,暂时亲自上手,更改源代码;

主要涉及的文件是:werobot/client.py

直接替换即可

##werobot/client.py 
# -*- coding: utf-8 -*-
class Client(object):
    """
    微信 API 操作类
    通过这个类可以方便的通过微信 API 进行一系列操作,比如主动发送消息、创建自定义菜单等
    """
    def __init__(self, config):
        self.config = config
        self._token = None
        self.token_expires_at = None
    ##其他无变更,省略。。。
    def get_media_list(self, media_type, offset, count):
        """
        获取素材列表。

        :param media_type: 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
        :param offset: 从全部素材的该偏移位置开始返回,0表示从第一个素材返回
        :param count: 返回素材的数量,取值在1到20之间
        :return: 返回的 JSON 数据包
        """
        return self.post(
            # url="https://api.weixin.qq.com/cgi-bin/material/batchget_material",
            url="https://api.weixin.qq.com/cgi-bin/draft/batchget",
            # data={
            #     "type": media_type,
            #     "offset": offset,
            #     "count": count
            # }
            data={
                "no_content": media_type,
                "offset": offset,
                "count": count
            }

        )

    def download_permanent_media(self, media_id):
        """
        获取永久素材。

        :param media_id: 媒体文件 ID
        :return: requests 的 Response 实例
        """
        return requests.post(
            # url="https://api.weixin.qq.com/cgi-bin/material/get_material",
            url="https://api.weixin.qq.com/cgi-bin/draft/get",
            params={"access_token": self.token},
            data=_json.dumps({
                "media_id": media_id
            }, ensure_ascii=False).encode("utf-8")
        )

    def add_news(self, articles):
        """
        新增永久图文素材::

            articles = [{
               "title": TITLE,
               "thumb_media_id": THUMB_MEDIA_ID,
               "author": AUTHOR,
               "digest": DIGEST,
               "show_cover_pic": SHOW_COVER_PIC(0 / 1),
               "content": CONTENT,
               "content_source_url": CONTENT_SOURCE_URL
            }
            # 若新增的是多图文素材,则此处应有几段articles结构,最多8段
            ]
            client.add_news(articles)

        :param articles: 如示例中的数组
        :return: 返回的 JSON 数据包
        """
        return self.post(
            # url="https://api.weixin.qq.com/cgi-bin/material/add_news",
            url="https://api.weixin.qq.com/cgi-bin/draft/add",
            data={"articles": articles}
        )

posted @ 2022-03-01 21:39  ministep88  阅读(188)  评论(4编辑  收藏  举报
网站更新内容:请访问:https://bigdata.ministep.cn/