Есть ли способ заставить пользователя совершить действие?
Я пытаюсь решить задачу, передав актеру действие 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 для одного из этих сообщений, вы увидите, что там нет адреса электронной почты: