特征:
-
统一管理:
- 可以统一管理和操作多个公众号和小程序,提供批量化、集中化的服务。
-
代开发和运营:
- 为公众号和小程序提供代开发和运营服务,例如提供自动回复、模板消息、用户管理等功能。
-
接口调用:
- 通过微信开放平台提供的API接口,进行第三方授权、消息管理、用户管理等操作。
-
Component Access Token:
- 使用Component Access Token代替单个公众号或小程序的Access Token来调用API接口,实现批量管理。
-
消息与事件接收:
- 可以接收来自公众号和小程序的事件推送和消息推送,进行集中处理。
创建微信开放平台(第三方平台)的步骤
-
注册微信开放平台账号:
- 前往微信开放平台官网,注册并登录微信开放平台账号。
-
创建第三方平台:
- 在开放平台上创建第三方平台,获取平台的AppID和AppSecret。
-
开发与配置:
- 配置第三方平台的服务器URL,用于接收微信服务器推送的ComponentVerifyTicket。
- 开发服务器程序,处理微信服务器的各种推送和请求。
-
获取ComponentVerifyTicket:
- 微信服务器会定期向第三方平台推送ComponentVerifyTicket,第三方平台需要接收并保存该ticket,用于后续的接口调用。
-
获取Component Access Token:
- 使用ComponentVerifyTicket通过API接口获取Component Access Token,这是调用微信开放平台API的凭证。
-
第三方授权:
- 引导公众号或小程序的运营者进行授权,将其公众号或小程序授权给第三方平台,第三方平台即可代为管理和操作。
常见的API调用
-
获取Component Access Token:
public async Task<string> GetComponentAccessTokenAsync(string componentAppId, string componentAppSecret, string componentVerifyTicket)
{
var url = "https://api.weixin.qq.com/cgi-bin/component/api_component_token";
var data = new
{
component_appid = componentAppId,
component_appsecret = componentAppSecret,
component_verify_ticket = componentVerifyTicket
};
var response = await client.PostAsJsonAsync(url, data);
var json = await response.Content.ReadAsAsync<JObject>();
return json["component_access_token"].ToString();
}
-
获取预授权码:
public async Task<string> GetPreAuthCodeAsync(string componentAccessToken, string componentAppId)
{
var url = $"https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token={componentAccessToken}";
var data = new
{
component_appid = componentAppId
};
var response = await client.PostAsJsonAsync(url, data);
var json = await response.Content.ReadAsAsync<JObject>();
return json["pre_auth_code"].ToString();
}