我一直在研究与我们公司的票务系统集成的内部Slack应用程序。
目前,我正在使用几个内部Webhooks URL将消息发布到不同的渠道以用于不同目的。这些消息是在用户作为应用程序名称的情况下发送的,旁边有“App”。这一切都很好。
现在,我正在添加一项额外的功能,可以使用chat.postmessage
向各个用户发送私信。我正在查看不同的参数,如as_user
,但不知道,但我想知道我需要做些什么来让这些私人消息“来自”同一个App用户。截至目前,他们正在“来自”Slack API Tester。我知道我可以更改用户名和图标,但我想知道我是否可以使用不同的令牌或类似内容直接从“应用”发送它们。
以下是我正在使用的一些代码的示例:
<?php
$ch = curl_init("https://slack.com/api/chat.postMessage");
$data = http_build_query([
//Slack Legacy API token found at
//https://api.slack.com/custom-integrations/legacy-tokens
"token" => "xoxp-0000000-00000-0000-0000",
"channel" => "@gbewley",
"text" => "Hello Graham",
]);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
return $result;
答案 0 :(得分:0)
如果我正确理解您的问题,您希望发送源自使用您脚本的任何用户A的邮件。对不起,但Slack不允许这样做。 chat.postMessage
邮件的始发者的唯一选项是:
正如您已经提到的,常见的解决方法是“伪造”用户名。但是,在这种情况下,Slack仍会显示一个“App”标签,表明该消息来自应用程序。