Адаптивная карточка в командах не работает - REST API - PullRequest
0 голосов
/ 26 мая 2020

Я создал бота (nodejs сервер) для команд - через структуру ботов.

Я пытаюсь отправить созданную мной адаптивную карту через: конструктор адаптивных карт

, и я получаю сообщение об ошибке:

{"code":"BadArgument","message":"ContentType of an attachment is not set"}

Тело запроса:

{
  "type": "message",
  "from": {
    "id": "xxxxxx"
  },
  "conversation": {
    "id": "xxxxxx"
  },
  "recipient": {
    "id": "xxxxx"
  },
  "replyToId": "xxxxx",
  "text": "some text",
  "attachments": [
    {
      "type": "AdaptiveCard",
      "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
      "version": "1.2",
      "body": [
        {
          "type": "TextBlock",
          "text": "some text"
        },
        {
          "type": "Input.Date",
          "separator": true
        }
      ]
    }
  ]
}

Буду признателен за помощь

Ответы [ 2 ]

2 голосов
/ 04 июня 2020

При добавлении вложений вы захотите установить свойства contentType и content объекта вложения.

https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#attachment -object

{
    "type": "message",
    "from": {
        "id": "xxxxxx"
    },
    "conversation": {
        "id": "xxxxxx"
    },
    "recipient": {
        "id": "xxxxx"
    },
    "replyToId": "xxxxx",
    "text": "some text",
    "attachments": [
        {
            "contentType": "application/vnd.microsoft.card.adaptive",
            "content": {
                "type": "AdaptiveCard",
                "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                "version": "1.2",
                "body": [
                    {
                        "type": "TextBlock",
                        "text": "some text"
                    },
                    {
                        "type": "Input.Date",
                        "separator": true
                    }
                ]
            }
        }
    ]
}
0 голосов
/ 26 мая 2020

Согласно приведенным выше комментариям, это проактивное сообщение, но использование библиотек Bot Framework - гораздо лучший подход, чем попытки напрямую вызвать конечные точки ботов (мне было интересно, если под «REST» вы имели в виду Bot Конечная точка Framework или Graph Api, но в любом случае с Bot Framework проще работать для проактивных сообщений).

См. этот пример , чтобы узнать, как это сделать в Node.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...