Не удается получить subEntityId в приложении вкладки MS Teams из deep link

#microsoft-teams

#microsoft-teams

Вопрос:

Я не могу получить subEntityId в приложении вкладки Teams из глубокой ссылки. В getContext всегда пусто. Кто-нибудь может мне помочь?

Я создал глубокую ссылку, следуя этой странице, https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links

Ссылка выглядит следующим образом,

 https://teams.microsoft.com/l/entity/58061894-78f0-49c3-99d7-25830d1c84f0/anpi-personalamp;context={"subEntityId":"task123"}
  

Ссылка работает так, как и ожидалось, она приводит меня к приложению вкладки в командах. Но нет subEntityId.

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

 {
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
  "manifestVersion": "1.7",
  "version": "1.0.0",
  "id": "58061894-78f0-49c3-99d7-25830d1c84f0",
  "packageName": "something.package.name",
  "developer": {
    "name": "dev",
    "websiteUrl": "some url",
    "privacyUrl": "some url",
    "termsOfUseUrl": "some url"
  },
  "icons": {
    "color": "color.png",
    "outline": "outline.png"
  },
  "name": {
    "short": "some name",
    "full": "some text"
  },
  "description": {
    "short": "some text",
    "full": "some text"
  },
  "accentColor": "#FFFFFF",
  "staticTabs": [
    {
      "entityId": "anpi-personal",
      "name": "app name",
      "contentUrl": "https://exmample.com/Default.aspx?entityId={entityId}amp;subEntityId={subEntityId}",
      "scopes": [
        "personal"
      ]
    }
  ],
  "permissions": [
    "identity",
    "messageTeamMembers"
  ],
  "validDomains": [
    "foo.com"
  ],
  "webApplicationInfo": {
    "id": "13958568-6984-47d4-910f-7bb9c87078c2",
    "resource": "api://exmample.com/13958568-6984-47d4-910f-7bb9c87078c2"
  }
}
  

Ответ №1:

Я думаю, вам нужно изменить: ...anpi-personalamp;context={"subEntityId":"task123"}

Для: ...anpi-personal?context={"subEntityId":"task123"}

изменение трудно увидеть — я изменил «amp; context» на «?context» — «amp;» требуется, если у вас есть -multiple-values, которые вы передаете (например, «weburl = something» И «context =something»), но в этом случае у вас есть только «context», поэтому оно должно начинаться с «?»

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

1. Вот и все. Большое вам спасибо. Я боролся с этой проблемой целый день, и теперь вы спасли мне жизнь 😉

2. рад помочь 🙂