前言
最近在做融媒体开发的项目时,涉及到了微信公众号图文消息发布等功能,预计后期还会有抖音视频发布,微博分享等内容,下面是实践。
准备
有自己的微信公众号,就用自己的,没有的可以到https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login申请一个测试账号进行测试,该测试账号有如下两个坑
(1)群发接口不能发布文字消息
(2)群发接口发布图文消息返回-1(应该是一个bug...)
我用的我们公司的账号进行测试的,开通了以后,会得到一如下两个身份凭证,这个图以测试号为例
总流程
我把大概的流程简略画了一下
(1)获取Acess_token
参数这块我直接贴文档
接口调用请求说明
https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
grant_type | 是 | 获取access_token填写client_credential |
appid | 是 | 第三方用户唯一凭证 |
secret | 是 | 第三方用户唯一凭证密钥,即appsecret |
下面是关键的后端服务端代码,直接复制填入id以及密匙就可获取access_token
public string GetToken()
{
string grant_type = "client_credential";
string appid = "你的公众号id";
string secret = "密匙";
string tokenUrl = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type={0}&appid={1}&secret={2}", grant_type, appid, secret);
//创建
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(tokenUrl);
//设置请求方法
httpWebRequest.Method = "post";
httpWebRequest.Timeout = 20000;
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
string responseContent = streamReader.ReadToEnd();
streamReader.Close();
httpWebResponse.Close();
JObject jsonresult = (JObject)JsonConvert.DeserializeObject(responseContent);
Console.WriteLine(responseContent);
string newToken = jsonresult["access_token"].ToString();
if (!string.IsNullOrWhiteSpace(newToken))
{
Console.WriteLine(newToken);
return newToken;
}
return "nul";
}