Slack对机器人的用户反应

时间:2016-11-07 03:37:35

标签: node.js bots slack-api slack

为我的应用程序编写botuser,并在向用户提供响应的同时遗漏了最后一步。

因此,一旦用户进行了操作,我就存储了信息响应。这是

{"ok":true,"access_token":"xoxp-SENSITIVEDATA_MAIN_ACCESSTOKEN-","scope":"identify,bot","user_id":"U2YT_SENSITIVE","team_name":"gsuresh","team_id":"T2Y_SENSITIVE","bot":{"bot_user_id":"U2Z_SENSITIVE","bot_access_token":"xoxb-SENSITIVE_BOT_ACCESSTOKEN"}}

从我的其他客户端使用该信息我试图从我的机器人中击中用户,但没有成功。这是我到目前为止所尝试的内容

尝试1:

url:https://slack.com/api/chat.postMessage

有效载荷:

{
    "token": "xoxb-SENSITIVE_BOT_ACCESSTOKEN",   // used bot accees token 
    "channel": "U2YT_SENSITIVE", // user id 
    "text": "Whats up dude? I am bot",
    "as_user" :true    
}

回复:

{
"ok": false
"error": "not_authed"
"warning": "missing_charset"
} 

尝试2:

url:https://slack.com/api/chat.postMessage

有效载荷:

{
    "token": "xoxp-SENSITIVEDATA_MAIN_ACCESSTOKEN",   // used main accees token 
    "channel": "U2YT_SENSITIVE",
    "text": "Whats up dude? I am bot",
    "as_user" :true    
}

回复:

{
"ok": false
"error": "not_authed"
"warning": "missing_charset"
}

可能是什么原因?我没有留下任何线索。有帮助吗?

2 个答案:

答案 0 :(得分:1)

这不起作用,因为你错过了正确的范围。

要发布消息,您的令牌需要具有范围chat:write:botchat:write:user,具体取决于您希望如何发送消息。如果你想让它来自机器人,请使用" chat:write:bot"显然和" as_user" API调用为false。

它与使用GET或POST调用API无关。两者都有效。

请参阅chat.postMessage方法docu中的作者身份部分。

答案 1 :(得分:-1)

您无法向该API发布请求。不幸的是,这是一个获取请求,这种敏感数据非常奇怪。这是完整的获取请求卷曲

var url ="https://slack.com/api/chat.postMessage?token="+botaccesstoken+"&channel="+user+"&text="+message+"&as_user=true&pretty=1";

这将有效。