2016-12-01 8 views
0

私は、マルチパーティのIMグループを余裕で作成し、ユーザーにグループにアクセスするためのURLを提供する必要があるアプリケーションを持っています。別のユーザー(スラックAPI)に代わってマルチパーティチャネルを作成する

まず、特定のクライアント組織A_orgのユーザAが、スラックOauth2メソッドを使用して、アプリケーションのライセンスをスラックに登録します。

その後、ユーザーB(元のアプリケーションを登録したユーザー/認証トークンを作成したユーザーではありません)は、複数のグループのメッセージングチャネルにアクセスする必要があります。

現在、私はそうとグループを作成しています:

const response = await callSlackApiMethod('mpim.open', { 
    token: access_token, // <-- access token of authorizing user (user A) 
    users: slackIds.join(',') // <-- group of users including B, not including A 
}); 

callSlackApiMethod単にGETの提供のparamsとたるみからREST方式を。

問題:

responseで返さグループは、常にユーザーAのslackIdを含んでいます。ユーザーAを含まず、各ユーザーを別々に認証する必要なく、ユーザーB(および他のユーザー)のmpimチャンネルを作成する方法はありますか?

ありがとうございます!

答えて

1

いいえ、mpim.openでは不可能です。ユーザAのトークンを使用してmpimチャネルを作成することは、他のユーザをグループの会話に招待するユーザAと同じです。

代わりにgroups.createで新しいプライベートチャネルを作成して、それにユーザーBを招待できます。また、最初はユーザーAが含まれますが、ユーザーB(および他の招待されたユーザー)だけが残るように、ユーザーAは私用チャネルを離れることができます。

プライベートチャンネルをユーザーAに任せておくと、スクリプトで制御が緩やかになります。どのような方法でも再入力や管理はできません。私が使用している回避策は、「スパイユーザー」として表示されることなくプライベートチャンネルに滞在できる管理者ユーザーアカウント(例えばslackadmin)を持つことです。

+0

ご協力いただきありがとうございます。管理者ユーザーアカウントを使用するのが最適な方法です。 –

関連する問題