朋友圈自动发布是私域运营的高频需求。sns/publish 接口本身不复杂,但朋友圈发布的工程难点不在接口调用,而在两件事:素材准备和发布窗口控制。这两件事做不好,要么发不出去,要么发出去就被限流。

参考API文档
WTAPI框架开发文档weiti.apifox.cn 为准。

一、朋友圈接口能力

WTAPI朋友圈接口支持发布(sns/publish)、点赞(sns/likeSns)、获取动态列表(sns/getList)等。发布接口支持图文、视频等内容类型,具体参数以官方文档为准。

二、素材准备:先转存再发布

朋友圈的图片、视频不能直接用外部URL,必须先上传到微信侧。工程上要做一条素材管线:

  1. 拉取素材:从业务素材库(OSS、本地存储)拉取待发布的图片/视频
  2. 上传转存:调用WTAPI的媒体上传接口,把素材转存到微信侧,拿到 mediaId
  3. 缓存复用:同一个素材只上传一次,缓存 mediaId,后续发布直接引用
def publish_moment(instance_id, text, image_urls):
    # 1. 上传图片拿mediaId
    media_ids = []
    for url in image_urls:
        # 先检查缓存
        cached = redis.get(f"media:{url}")
        if cached:
            media_ids.append(cached)
            continue
        # 调用上传接口,具体路径与字段以官方文档为准
        media_id = upload_media(instance_id, url)
        redis.setex(f"media:{url}", 86400 * 7, media_id)
        media_ids.append(media_id)

    # 2. 发布朋友圈
    resp = requests.post(
        f"{BASE}/finder/v2/api/sns/publish",
        headers=HEADERS,
        json={
            "appId": "<appId>",
            "instanceId": instance_id,
            "content": text,
            "mediaIds": media_ids,
        },
        timeout=30,
    ).json()
    return resp

三、发布窗口控制

朋友圈发布不能想发就发,要控制两个维度:

时间窗口:避开凌晨和深夜,选用户活跃时段(如早8-9点、午12-13点、晚20-22点)。用定时任务(APScheduler、Celery Beat)在指定时间触发发布。

频率控制:单账号单日发布次数要有上限,短时间内连续发布多条极易触发风控。建议单账号每天不超过3-5条,每条间隔30分钟以上。

from apscheduler.schedulers.background import BackgroundScheduler

scheduler = BackgroundScheduler()

def schedule_publish(instance_id, publish_time, text, images):
    scheduler.add_job(
        publish_moment,
        "date",
        run_date=publish_time,
        args=[instance_id, text, images],
        misfire_grace_time=300,
    )

# 定时在今晚20:00发布
schedule_publish(
    "<instanceId>",
    "2026-09-22 20:00:00",
    "今日好物推荐",
    ["https://cdn.example.com/1.jpg"],
)

四、失败补偿

发布失败要区分原因:

  • 素材上传失败:重试上传,超过次数告警
  • 发布接口失败:记录失败任务,支持手动重发
  • 风控限流:暂停该账号后续发布,延迟到下一个窗口

所有发布任务要落库(状态:待发布/发布中/成功/失败),支持后台重发失败任务。

五、发布后的互动

发布完成后,可以用 sns/likeSns 给好友动态点赞,用 sns/getList 获取动态列表做互动分析。但互动操作同样要控频,不要一上来就批量点赞。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐