微信公众号获取临时素材。
文档链接如下:https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Get_temporary_materials.html
通过接口可以拿到一个 get 的方法的 Url,例如:https://api.weixin.qq.com/cgi-bin/media/get?access_token=access_token&media_id=media_id
这个 Url 可以放到网页上,可以下载下来。
入坑:
直接用 nodejs的request 方法获取,获得的是一个乱码。
然后用了一些办法,乱码也无法解决。
解决:
获取临时素材原理跟 node下载网络视频保存到本地 是一个原理
直接用nodejs下载文件链接https://api.weixin.qq.com/cgi-bin/media/get?access_token=access_token&media_id=media_id
下面一段代码为下载到本地,如果要上传到 oss,可以把 oss 的方法加入进去。
request({
method: 'GET',
url:'https://api.weixin.qq.com/cgi-bin/media/get?access_token=access_token&media_id=media_id'
});
let name = Date.now() + '.mp4'
let writeStream = fs.createWriteStream(name);
httpStream.pipe(writeStream);
writeStream.on('close', () => {
resolve({name,url:urlLocal})
});
已经封装好了代码,如果需要可以私聊,可以根据上面加入自己的逻辑。