Nodejs将云存储的图片调用企业微信的上传临时素材的API示例
时间: 2023-05-20 17:07:03 浏览: 207
.net core3.1 WebAPI使用HttpClient为企业微信上传临时素材
以下是一个 Node.js 调用企业微信上传临时素材 API 的示例代码:
```javascript
const request = require('request');
const fs = require('fs');
const corpId = 'YOUR_CORP_ID';
const corpSecret = 'YOUR_CORP_SECRET';
const agentId = 'YOUR_AGENT_ID';
const accessTokenUrl = `https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${corpId}&corpsecret=${corpSecret}`;
const uploadMediaUrl = `https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE`;
function uploadMedia(filePath, callback) {
request.get(accessTokenUrl, (err, res, body) => {
if (err) {
callback(err);
return;
}
const accessToken = JSON.parse(body).access_token;
const fileType = filePath.split('.').pop();
const uploadUrl = uploadMediaUrl.replace('ACCESS_TOKEN', accessToken).replace('TYPE', fileType);
const formData = {
media: fs.createReadStream(filePath),
};
request.post({ url: uploadUrl, formData: formData }, (err, res, body) => {
if (err) {
callback(err);
return;
}
const result = JSON.parse(body);
if (result.errcode) {
callback(new Error(`Upload media failed: ${result.errmsg}`));
return;
}
callback(null, result.media_id);
});
});
}
uploadMedia('/path/to/image.jpg', (err, mediaId) => {
if (err) {
console.error(err);
return;
}
console.log(`Media ID: ${mediaId}`);
});
```
请将 `YOUR_CORP_ID`、`YOUR_CORP_SECRET` 和 `YOUR_AGENT_ID` 替换为你的企业微信的相关信息,将 `/path/to/image.jpg` 替换为你要上传的图片的路径。此外,你还需要安装 `request` 模块和 `fs` 模块。
阅读全文