我编写了以下脚本:
function uploadImageToDiscord() {
var link = "https://i.imgur.com/image.jpg";
var img = UrlFetchApp.fetch(link).getBlob();
var discordUrl = "https://discordapp.com/api/webhooks/mywebhook";
var payload = {
"file": img
};
var params = {
headers: {
"Content-Type": "multipart/form-data"
},
method: "post",
payload: payload,
muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(discordUrl, params);
Logger.log(response.getContentText());
}
然而,GAS 告诉我我正在尝试发送一条空消息。谁能帮我?
错误信息 https://i.stack.imgur.com/lYrGA.png
该错误必须与我尝试下载图像的方式有关:
var img = UrlFetchApp.fetch(link).getBlob();
或者我如何定义多部分/表单数据内容的有效负载的方式:
var payload = {
"file": img
};
这个修改怎么样?
修改后的脚本:
From:
var params = {
headers: {
"Content-Type": "multipart/form-data"
},
method: "post",
payload: payload,
muteHttpExceptions: true
};
To:
var params = {
method: "post",
payload: payload,
muteHttpExceptions: true
};
附加信息:
例如,如果您想将文本添加到文件中,请使用以下请求正文。
var payload = {
content: "sample text", // Added
file: img
};
var params = {
method: "post",
payload: payload,
muteHttpExceptions: true
};
参考:
- Webhook 资源 https://discordapp.com/developers/docs/resources/webhook
在我的环境中,我正在使用这样的请求主体。而且效果很好。但如果在您的环境中它不起作用,请告诉我。我想考虑其他解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)