Есть ли способ заставить пользователя совершить действие?

Я пытаюсь решить задачу, передав актеру действие HttpPOST с карты в командах. Поэтому, когда пользователь нажал на действие, я могу использовать входные данные для получения пользовательского ввода и добавить его в действие POST следующим образом:

{
  "@type": "ActionCard",
  "name": "Comment",
  "inputs": [
    {
      "@type": "TextInput",
      "id": "comment",
      "isMultiline": true,
      "title": "Input's title property"
    }
  ],
  "actions": [
    {
      "@type": "HttpPOST",
      "name": "Action's name prop.",
      "target": "https://yammer.com/comment?postId=123",
      "body": "comment={{comment.value}}"
    }
  ]
}

Но я хотел бы добавить некоторую информацию о пользователе (имя, адрес электронной почты, что угодно).

У нас есть некоторые предопределенные переменные, которые могут быть использованы для этого?

Примечания стороны:
1. Соединитель отправляет ответ на карту после успешного ответа от действия HttpPOST, содержащего имя субъекта (так что это выглядит многообещающе): образ2. Разъем проходит access_token к конечной точке API HttpPOST, которая содержит некоторую информацию (sub, tid). Но нет никаких областей применения, так что даже я найду правильный userprofile конечная точка для СТС я не смогу это назватьобраз
3. На основе примера я смог использовать ActionableMessageTokenValidator но результат бесполезен
образ
- показывает то же самое sub только (я видел в жетоне)

Связанная проблема: https://github.com/OfficeDev/outlook-actionable-messages-csharp-token-validation/issues/9

0 ответов

Я исследовал это с командой Actionable Messages, и это ограничение активных сообщений, полученных через соединители (либо соединитель почтового ящика / группы, либо соединитель Teams).

Пользователь, выполнивший действие, представлен sub претензия (senderтут не причем). Это уже документировано, что для разъемов,sub содержит идентификатор объекта, а не адрес электронной почты.

Личность пользователя, выполнившего действие. Для интерактивных сообщений, отправленных по электронной почте,subбудет адресом электронной почты пользователя. Для разъемов,sub будет objectID пользователя, выполнившего действие.

Это не планируется менять. В Outlook вы можете перейти к отправке сообщений с действиями по электронной почте, и вы получитеsubзаявить как адрес электронной почты. Для Teams использование соединителя - единственный вариант.

Учитывая senderнулевое требование: это также ограничение потока коннектора. Входящий веб-перехватчик создает электронное письмо (или сообщение чата для Teams), но на самом деле не "отправляет" эти сообщения. Поскольку они не отправляются, отправитель никогда не указывается в сообщении. Логика, определяющая отправителя, видит пустое значение, поэтому оно и помещается в токен. Самый простой способ проиллюстрировать это - посмотреть на поле "от" в Outlook для одного из этих сообщений, вы увидите, что там нет адреса электронной почты:

Другие вопросы по тегам