项目要用到微信提醒 ,加上调转到小程序页面,或者 指定url

用到  RestSharp、Senparc.Weixin 类库

一开始直接照着微信示例直接post进去 发现一直提示 47001  ,估计是我姿势水平不太够,还是用个类库操作吧

using RestSharp;
using Senparc.Weixin.MP.AdvancedAPIs.TemplateMessage;
using System; namespace TemplateApp1
{
class Program
{
public static string OpenId = "";
public static string Template_id = "";
public static string AccessToken = GetACCESS_TOKEN();
static void Main(string[] args)
{
//网页跳转
SendTemplateMessageResult T = SendTemplateURL(AccessToken, OpenId, Template_id);
//小程序跳转
SendTemplateMessageResult T1 = SendTemplatMiniProgram(AccessToken, OpenId, Template_id);
Console.WriteLine(T+"\n"+T1);
Console.ReadKey();
}
/// <summary>
/// 网页跳转
/// </summary>
/// <param name="openId"></param>
/// <param name="template_id"></param>
/// <returns></returns>
public static SendTemplateMessageResult SendTemplateURL(string accessToken, string openId,string template_id)
{
var data = new
{
first = new TemplateDataItem("网页跳转"),
keyword1 = new TemplateDataItem("keyword1"),
keyword2 = new TemplateDataItem(DateTime.Now.ToString("yyyy年MM月dd日 HH:mm")),
remark = new TemplateDataItem("remark"),
};
string url = "https://baidu.com";
return Senparc.Weixin.MP.AdvancedAPIs.TemplateApi.SendTemplateMessage(accessToken, openId, template_id, url, data,null);
}
/// <summary>
/// 小程序跳转
/// </summary>
/// <param name="openId"></param>
/// <param name="template_id"></param>
/// <returns></returns>
public static SendTemplateMessageResult SendTemplatMiniProgram(string accessToken,string openId, string template_id)
{
var data = new
{
first = new TemplateDataItem("小程序跳转"),
keyword1 = new TemplateDataItem("keyword1"),
keyword2 = new TemplateDataItem(DateTime.Now.ToString("yyyy年MM月dd日 HH:mm")),
remark = new TemplateDataItem("remark"),
};
// 小程序
TempleteModel_MiniProgram miniProgram = new TempleteModel_MiniProgram
{
appid = "",
pagepath = ""
};
string url = string.Empty;
return Senparc.Weixin.MP.AdvancedAPIs.TemplateApi.SendTemplateMessage(accessToken, openId, template_id, url, data, miniProgram);
}
/// <summary>
/// 获取 AccessToken 需保存 有次数限制
/// </summary>
/// <returns></returns>
public static string GetACCESS_TOKEN()
{
string url = "";
var request = new RestRequest("", Method.GET);
RestClient restClient = new RestClient(url);
return restClient.Execute(request).Content;
}
}
}

  

最新文章

  1. Dagger2 (一) 入坑篇
  2. 上传文件swfUploadConfig.js
  3. 61. 从1到n,共有n个数字,每个数字只出现一次。从中随机拿走一个数字x,请给出最快的方法,找到这个数字。如果随机拿走k(k&gt;=2)个数字呢?[find k missing numbers from 1 to n]
  4. OAuth 2 的简单理解
  5. find命令基本使用一览
  6. JAVA HashMap详细介绍和示例
  7. Mysql 授权访问
  8. WPF控件---Border应用
  9. android Unable to resolve target &#39;android-XX&#39;错误和conversion to dalvik format failed with error 1错误
  10. 【MySQL案件】mysql登录-S失败
  11. dos攻击命令
  12. memcache 总结笔记
  13. 使用腾讯云服务器CentOS搭建JavaWeb环境
  14. js-对象的重要概念
  15. INotifyPropertyChanged
  16. 让bat以管理员权限运行
  17. Spring MVC之DispatcherServlet初始化详解
  18. 理解web service 和 SOA
  19. 【问题收录】Ubuntu14.04连接两个双显示器失败的解决方案
  20. maven报错集

热门文章

  1. 我大概知道他在说什么了,是对内存单元的竞争访问吧。Python有GIL,在执行伪码时是原子的。但是伪码之间不保证原子性。 UDP丢包,你是不是做了盲发?没有拥塞控制的情况下,确实会出现丢包严重的情况。你先看看发送速率,还有是否带有拥塞控制。
  2. RabbitMQ之Topic交换器模式开发
  3. shell编程系列14--文本处理三剑客之awk的概述及常用方法总结
  4. Dockerfile-server2
  5. 【编程基础】CppLint工具使用过程
  6. LintCode: coins in a line I
  7. Cas(07)——建立使用Cas进行单点登录的应用
  8. 基于vue-cli、elementUI的Vue简单入门例子
  9. Eclipse+TestNG搭建接口自动化测试框架
  10. [转帖]TPC-C解析系列05_TPC-C基准测试之存储优化