分享第三方网站时带图复制到公众号,微信不显示缩略图和描述,如下图
要解决这个问题,我们必须调用微信JS-SDK接口,下面说一下如何调用接口
第一部分的准备步骤
注册微信公众号。
通过左侧导航进入“开发”--“基础配置”。通过开发者ID和密码调用access_token接口时带图复制到公众号,需要将访问源IP设置为白名单。可以设置服务器ip、开发机ip、测试机ip。
配置JS接口安全域名。
通过左侧导航进入“设置”--“公众号设置”--“功能设置”。设置JS接口安全域名后,公众号开发者可以调用该域名下微信开通的JS接口。具体设置步骤如下图所示。
通过公众号中的AppID和AppSecret获取access_token(接口调用凭证),并缓存(有效期2小时)
公共平台使用access_token作为接口调用凭证来调用接口。所有接口调用都需要先获取access_token。 access_token在2小时内有效,过期后需要重新获取。获取 API 调用凭证 (access_token) 文档。
public static string GetAccess_token()
{
string access_token = string.Empty;
//从缓存获取
string cacheName = "Weixin_access_token";
object obj = CacheHelper.GetCache(cacheName);
if (obj != null)
{
access_token = obj.ToString();
}
//从接口获取
else
{
string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + AppID + "&secret=" + AppSecret;
access_token = SubmitHttpWebRequest(url, "access_token");
//设置缓存
//7200秒内有效,不可无限次调取微信接口
CacheHelper.SetCache(cacheName, access_token, 7200);
}
return access_token;
}
获取jsapi_ticket并缓存(有效期2小时)。 jsapi_ticket是公众号调用微信JS接口的临时票据
public static string GetJsapi_Ticket()
{
string jsapi_ticket = string.Empty;
//从缓存获取
string cacheName = "Weixin_jsapi_ticket";
object obj = CacheHelper.GetCache(cacheName);
if (obj != null)
{
jsapi_ticket = obj.ToString();
}
//从接口获取
else
{
string access_token = GetAccess_token();
string url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=" + access_token;
jsapi_ticket = SubmitHttpWebRequest(url, "ticket");
//设置缓存
//7200秒内有效,不可无限次调取微信接口
CacheHelper.SetCache(cacheName, jsapi_ticket, 7200);
}
return jsapi_ticket;
}
完整代码下载