使用机器人将消息发布到Slack

时间:2019-12-13 05:03:42

标签: php api permissions slack slack-api

我有一个闲适的实例,到目前为止,我是唯一的用户。我正在尝试使用漫游器帐户发布一条简单的“ hello world”消息,因此该消息不会显示为来自我的帐户。

$url = "https://slack.com/api/chat.postMessage?token=xoxb-XXXXXX&channel=general&text=hello%20world";
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$head = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 

当我使用xoxp-XXXX oAuth令牌发布信息时,它工作得很好,但它来自我的帐户。当我使用xoxb-XXXX令牌发帖时,我收到了"error": "not_in_channel"的回复。而且我收到了chat:write:user用户范围错误-尽管我已经为我的应用授予了全部50个权限。

如何设置我的备用应用程序,以允许该写操作从应用程序上的机器人帐户而不是我的帐户发生?

1 个答案:

答案 0 :(得分:2)

解决方案很简单。

  1. 您的漫游器需要bot范围作为漫游器用户。
  2. 确保您使用的是bot access token
  3. 邀请漫游器加入频道