Как обновить или ответить на сообщение Microsoft Teams с помощью webhook?

#message #microsoft-teams #card

#microsoft-teams

Вопрос:

Я просмотрел документацию и, похоже, не могу найти решение для этого. Я создал webhook в канале Microsoft Teams и использовал это руководство для публикации сообщения в канале:

https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using#post-a-message-to-the-webhook-using-curl

Это работает довольно хорошо, но я также хотел бы сделать еще один запрос cURL для обновления сообщения. Возможно ли это вообще? Какие у меня есть варианты?

Я думал, что поле «CorrelationId» будет решением для создания уникальных идентификаторов для моих сообщений, но, похоже, это не работает таким образом:

https://docs.microsoft.com/en-us/outlook/actionable-messages/message-card-reference#card-fields

Ответ №1:

Прямого способа обновления сообщения, отправленного webhook, не существует, вы можете попробовать получить список сообщений с помощью API сообщений канала списка, а затем принять к сведению идентификатор конкретного сообщения для обновления, а затем использовать API графика сообщений обновления для обновления.

Комментарии:

1. Спасибо за ваш ответ! Я попробую этот маршрут.

2. @bulkware, пожалуйста, примите ответ, если он вам помог.

3. Я сделаю это после того, как у меня будет возможность протестировать его 🙂

4. Согласно документации, только policyViolation поле может быть обновлено с помощью Graph API. Содержимое самого сообщения не может быть обновлено. Таким образом, это решение не будет работать.

Ответ №2:

Возможно, оно было добавлено в последующем выпуске, поскольку я могу обновлять сообщение до тех пор, пока идентификатор корреляции остается неизменным

 { "@context": "http://schema.org/extensions",
"@type": "MessageCard",
"summary": "OMG Teams Integration",
"correlationId": "407ac8ee-b3d4-4c3d-9af9-0908566fedf7",
"sections": [
{
  "activityTitle": "**Alerts**",
  "activityImage": "https://xxx/_Icon_Color.png",
  "activityText": "Some text"
}
]
}
 

Чтобы заменить текст, вызовите ту же конечную точку с той же корреляцией и новым текстом.

 { "@context": "http://schema.org/extensions",
"@type": "MessageCard",
"summary": "OMG Teams Integration",
"correlationId": "407ac8ee-b3d4-4c3d-9af9-0908566fedf7",
"sections": [
{
  "activityTitle": "**Alerts**",
  "activityImage": "https://xxx/_Icon_Color.png",
  "activityText": "Updated text"
}
]
}
 

Комментарии:

1. как вы отправляете запрос? можете ли вы привести пример? Спасибо