微信公众平台后台导航的“高级功能”选项可以进入模式选择界面,有两种模式可供选择,分别是“编辑模式”和“开发模式”。
至于微信公众平台传输信息的机制在上一章节已经说过,那么这一节粗略讲讲API接口简介,详细的会在后面的文章中着重讲述。
微信公众平台开发者文档地址:http://mp.weixin.qq.com/wiki/home/index.html
在开发文档中我们可以知道,微信传输是用XML格式的数据,以及告诉了我们每一个字段的意思,我们只要根据我们的功能按要求调用接口即可。
接下来我们需要在我们的项目中建立一个控制器并写两个函数供微信服务器调用。
这里先讲第一个函数,也就是微信公众平台成为开发者模式后要绑定URL和Token要调用的函数。
首先我们需要引进 Senparc.Weixin.MP 的一些引用。
SDK开源项目地址:https://github.com/JeffreySu/WeiXinMPSDK。
其次需要建立一个名称为Index,用于Get请求的Action。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MicroShop.Model;
using MicroShop.IBLL;
using Senparc.Weixin.MP;
using Senparc.Weixin.MP.CommonAPIs;
using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.Entities.Menu;
using Senparc.Weixin.MP.MvcExtension;
using Senparc.Weixin.MP.AdvancedAPIs;
namespace MicroShop.AdminWeb.Controllers
{
/// <summary>
/// 微信接口
/// </summary>
public class WeiXinAPIController : Controller
{
string token = "yourtoken";
/// <summary>
/// 微信后台验证地址(使用Get),微信后台的“接口配置信息”的Url填写如:http://weixin.senparc.com/weixin
/// </summary>
[HttpGet]
[ActionName("Index")]
public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
{
if (CheckSignature.Check(signature, timestamp, nonce, token))
{
return Content(echostr);//返回随机字符串则表示验证通过
}
else
{
return Content("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, token) + "当你看到这行字就说明你填的URL是正确的!");
}
}
}
}
上述代码中,token变量的值要和开发者账号后台设置的Token值一样,Get方法中的参数表示的意思在开发者文档里都有详细说明,if 语句执行成功表示验证通过,那么会返回随机字符串,否则返回下面else里的字符串。
接着我们把该项目发布到我们的服务器,发布成功后我们打开浏览器,在浏览器地址输入 http://你的域名/控制器名,例如我上面的代码:http://microshop.com/weixinapi
当页面展现出来后,在左上角出现一行文字,即上面代码中else里返回的文字,那么表示URL填写无误。
然后我们在开发者后台把URL和代码里写的token值输入点击确定即可绑定成功。