2017-01-06 3 views
0

残念ですが、これは少し長いです。アップグレード後に既存のスラックRTMボットを新しいMicrosoft Botフレームバックエンドに接続します

私はボットの2つのバージョンがあります:

バージョン1.0 - スラックRTMバックエンドに基づいています。これをインストールしたユーザーは数百人です。

バージョン2.0 - マイクロソフトボットフレームワーク(BF)、バックエンドに基づきます。数日前にリリースされてから数十人のユーザーがこのバージョンをインストールしました。

RTMの代わりにボットフレームワークのバックエンドを使用し、スラックの承認を受けて、スラックボットストアから新しいユーザーがすべてバージョン2.0をインストールするように、My Slackアプリをv2.0にアップグレードしました。期待どおりに良い。

しかし、たるみアプリの新バージョンいったんが公開されました - 私は古いRTMのバックエンドへの接続を切断し、新しいBFバックエンドに接続するためのスラックを期待しました。これは起こらず、数百人のユーザーが古いRTMバックエンドを使用しています。

はスラックサポートに連絡を - 彼らはそれを自動的に行うことができないと私はBFサービスからすでに認証トークンの接続を開始する必要が私に言いました。どうやってやるの?

私はそれらのチームのいずれかから情報を取得しようとしましたし、次のコードを使用してメッセージを送信しようとした:

 var connector = new ConnectorClient(new Uri("https://slack.botframework.com/")); 
     var conversation = new ConversationAccount(true, "B0JMAJ8C8:T0ANH2CG3:C0ANKNHU5"); 
     var botAccount = new ChannelAccount("B0JMAJ8C8:T0ANH2CG3", "Grasp"); 
     IMessageActivity message = Activity.CreateMessageActivity(); 
     message.From = botAccount; 
     message.Conversation = conversation; 
     message.ChannelId = "slack"; 
     message.Text = "Upgrade Test!"; 
     message.Locale = "en-En"; 
     connector.Conversations.SendToConversation((Activity)message); 

しかしSendToConversation()は私に例外を与えるための:

認証をマイクロソフトのApp ID 122dd7ca-XXXXX-XXXX-b679-c696e212987aは禁止ステータスコード で失敗しました

ユーザーが同じボットの新しいバージョンを再インストールしなくても、BFからの接続を強制できる他の方法はありますか?

ありがとうございます。ユーザーが「スラックに追加」ボタンをクリックすると、ユーザーが自分のスラックチームにボットの権限を付与し、ボットがスラックへの接続に使用するトークンを受信ところ

答えて

1

OAuthのフローが開始されます。そのトークンをあるボットから別のボトルに転送する方法は現在ありません。そのため、V1ボットのユーザーに「スラックに追加」のoauthフローを再度実行させてV2に切り替える必要があります。

関連する問題