2

REST API を使用してボットを作成しています。実際、ボットから次のようにメッセージを送信したい

「認証」から始めます

リクエスト: curl -k -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token -d "grant_type=client_credentials&client_id={app_id}&client_secret={app_password}&scope=https://graph.microsoft.com/.default"

応答:

{ "token_type": "Bearer", "expires_in": 3599, "ext_expires_in": 0, "access_token": "<access_token>" }

次に、新しい会話を開始します

リクエスト:

POST https://skype.botframework.com/v3/conversations Authorization: Bearer <access_token> Content-Type: application/json { "bot": { "id": "standupalice", "name": "Standup Alice" }, "isGroup": false, "members": [ { "id": "<my bot id>", "name": "Standup Alice" }, { "id": "<my user id>", "name": "Bao" } ], "topicName": "News Alert" }

注: および は、Skype アプリから Standup Alice ボットに送信されたコールバック メッセージから取得されます。

応答: { "id": "<conversation id>" }

会話 ID が と同じなので、変です。さて、次のリクエストとして送信するメッセージを作成します。 POST https://skype.botframework.com/v3/conversations/<conversation id>/activities Authorization: Bearer <access_token> Content-Type: application/json { "type": "message", "from": { "id": "<my bot id>", "name": "Standup Alice" }, "conversation": { "id": "<conversation id>", "name": "News Alert" }, "recipient": { "id": "<my user id>", "name": "Bao" }, "channelId": "skype", "text": "My bot's reply" }

応答 (http エラー 400 - 不正な要求): { "error": { "code": "ServiceError", "message": "The conversationId <conversation id>and bot <my bot id> doesn't match a known conversation" } } 要求とパラメーターの何が問題なのか分かりますか?

注 1: https://docs.botframework.com/en-us/core-concepts/overview/#navtitleで説明されているように、 https:// api .botframework.com/v3/conversations にリクエストを発行しようとしましたが、常にhttp エラー 404 を受け取ります - リソースが見つかりません。

注 2: Web チャットで同じ方法を試したところ、正常に動作しましたが、MS Teams は動作しません (http エラー 500 - 内部サーバー エラー)。

注 3: 私のチャンネル設定 ここに画像の説明を入力

4

1 に答える 1