php - 使用机器人向 Slack 发布消息

标签 php api permissions slack slack-api

我有一个 slack 实例,我是唯一的用户(到目前为止)。我正在尝试使用机器人帐户发布一条简单的“hello world”消息,这样消息就不会显示为来 self 的帐户。

$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 token 发帖时,效果很好,只是它来 self 的帐户。当我使用 xoxb-XXXX token 发帖时,我收到了一条 "error": "not_in_channel" 回复。我收到了 chat:write:user 用户范围错误 - 虽然我已经授予我的应用程序所有 50 个权限。

如何设置我的 slack 应用程序以允许从应用程序的机器人帐户而不是我的帐户进行写入?

最佳答案

解决方法很简单。

  1. 您的机器人需要作为机器人用户的 bot 作用域。
  2. 确保您使用的是机器人访问 token
  3. 邀请机器人加入 channel

关于php - 使用机器人向 Slack 发布消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59316406/

相关文章:

android - 从应用程序中以编程方式启用 USB 调试(在设置/应用程序/开发下)

Python Suds.Client 是否应该关闭

c# - SqlTableDependency 权限问题

php - 如何在 MySQL 中选择最新的行?

php - Last.fm API - 轨道时长

api - 有没有其他人觉得简单项目的解决方案经常被过度设计?

ruby-on-rails - 是否有任何 gem 可以将 paypal button api 集成到 rails 应用程序?

windows - 克服 "It is being used by another person or program."

PHP RSA-公钥base64编码

PHP & MySQL,良好的查询失败