2017-03-21 6 views
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" Skype/MS Team REST APIが動作しない

応答::

{ "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のアプリから送信されたコールバックメッセージから取得されます。

応答: { "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への要求を発射しようとした:// API https://docs.botframework.com/en-us/core-concepts/overview/#navtitleで説明したが、常にHTTPエラー404を受け取るよう .botframework.com/V3 /会話 - リソースが見つかりません。

注2:私は、ウェブチャットのために同じ方法を試してみましたが、それが正常に動作しますが、MSチームが動作しません(HTTPエラー500 - 内部サーバーエラー)

注3:私のチャンネル設定 enter image description here

答えて

0

あなたの第2のAPIリクエスト(会話の開始1)はこのように見える何かを返されている必要があります。

{ 
    "activityId": "string", 
    "serviceUrl": "string", 
    "id": "string" 
} 

それは完全なディスクが、(問題がどこにあることだと私に示唆していなかったという事実私はそれを再作成することができませんでした)。

「メンバー」配列を見ると、あなたがボットを追加したことがわかります。厳密に言うと、ボットはメンバーです(メンバーは人間だと思いますが、良い定義が見つからない)。したがって、私の最善の提案は、その2番目のAPI呼び出しでメンバー配列からボットを削除することです。

幸運を祈る!

関連する問題