【问题标题】:Slack response to user from bot机器人对用户的松弛响应
【发布时间】:2017-03-20 08:10:54
【问题描述】:

为我的应用程序编写 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:


网址: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:


网址: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"
}

可能是什么原因?我毫无头绪地离开了。

【问题讨论】:

  • “范围”:“识别,机器人”应该是“范围”:“识别:机器人”吗?
  • 这是来自 slack 服务器的响应。

标签: node.js bots slack-api slack


【解决方案1】:

这不起作用,因为您缺少正确的范围。

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

它与使用 GET 或 POST 调用 API 无关。两者都可以。

查看chat.postMessage方法docu中的作者部分。

【讨论】:

    【解决方案2】:

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

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

    这会起作用的。

    【讨论】:

    • 其实一次可以发出POST请求,是首选。您只需要确保您使用的是 application/x-www-form-urlencoded POST 正文,因为 Web API 写入方法目前不接受 JSON。
    猜你喜欢
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    相关资源
    最近更新 更多