2017-07-21 9 views
0

私は、当社の発券システムと統合された内部Slackアプリケーションを開発しています。chatユーザーのアカウントからchat.postmessageを送信

現在、私は内部目的の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

さらに、このページでは、ボットユーザーとして投稿するためにボットアクセストークンが必要だと言われています。私は自分のアプリケーションでボットユーザーを作成しましたが、そのボットユーザーのトークンを見つける方法はわかりません。 私はこのページにある:https://api.slack.com/bot-users "bot user token"という文書のリンクをクリックしたが、それは私の管理ページトークンがどこにあるか把握できません。 –

+0

これは新しい質問です。最初のものとは関係ありません。 Slackoverflowに関する新しい質問として投稿してください。 –

答えて

0

場合は、スクリプトを使用するすべてのユーザAから発信メッセージを送りたいです。申し訳ありませんが、スラックは許可していません。 chat.postMessageとメッセージの発信のためのあなたの唯一のオプションは以下のとおりです。

  • アプリケーション名、「as_user」と送信トークンボットあなたのアプリをインストールし
  • ユーザーを使用して、
  • ボットユーザーはfalse(これがデフォルトです) "as_user" trueを指定してフルアクセストークンを使用して送信します。

すでに説明したように、一般的な回避策はユーザー名を "偽造"することです。しかし、その場合、Slackはメッセージがアプリから来ていることを示す「App」タグを表示します。

関連する問題