无法从深层 link 获取 MS Teams 选项卡应用程序上的 subEntityId

Cannot get subEntityId on MS Teams tab app from deep link

我无法从深层 link 检索 Teams 选项卡应用程序上的 subEntityId。它在 getContext 中始终为空。谁能帮帮我吗?

我按照此页面生成了一个深度 link,https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links

link 看起来像这样,

https://teams.microsoft.com/l/entity/58061894-78f0-49c3-99d7-25830d1c84f0/anpi-personal&context=%7B%22subEntityId%22:%22task123%22%7D

link 按预期工作,它将我带到 Teams 上的选项卡应用程序。但是没有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}&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"
  }
}

我认为你需要改变: ...anpi-personal&context=%7B%22subEntityId%22:%22task123%22%7D

致: ...anpi-personal?context=%7B%22subEntityId%22:%22task123%22%7D

很难看到变化 - 我已将“&context”更改为“?context” - 如果您要传递多个值,则需要“&”(例如“weburl=something”和“ context=something"), 但在这种情况下你只有 "context", 所以它需要以 "?"

开头