【发布时间】:2019-07-14 14:09:15
【问题描述】:
我只是想从一个附有图片的谷歌应用程序脚本中进行一个简单的 postMessage 调用,但我得到了以下响应:
"{"ok":false,"error":"invalid_arg_name"}"
这是创建有效负载的函数:
function getPostMessagePayload(fileUrl) {
var content = {
"channel":"#data-vis",
"token": ACCESS_TOKEN,
"text":"Chart update:",
"attachments": [
{
"title": "Chart",
"fallback": "Fallback",
"text": "Testing chart",
"image_url": fileUrl
}
]
};
return content;
}
这是我提出请求的地方:
var POST_MESSAGE_ENDPOINT = 'https://slack.com/api/chat.postMessage';
function performPostMessage(payload) {
var res = UrlFetchApp.fetch(
POST_MESSAGE_ENDPOINT,
{
method: "post",
payload: JSON.stringify(payload),
muteHttpExceptions: true,
}).getContentText();
return res;
}
不可能说出真正的问题是什么。我试过让我的令牌明显不正确,URL 明显不正确,并删除/添加随机参数,它每次都会给出相同的响应。
当我使用 webhook 而不是 API 来执行此操作时,它可以正常工作。
我的应用在 Slack 中具有以下权限:
chat:write:bot
incoming-webhook
【问题讨论】:
标签: google-apps-script slack-api urlfetch