在 Teams 个人选项卡应用程序中扩展 URL 占位符似乎无法正常工作

问题描述 投票:0回答:2

我正在为 MS Teams 编写个人选项卡应用程序。将初始页面加载到选项卡中没有问题,但我想在初始 GET 上获取租户 ID,因此我考虑使用本文中提到的 URL 占位符。如那里所述,对于 TeamsJS 2.0.0 或更高版本,应使用

{user.tenant.id}
占位符,而对于早期版本,正确的占位符是
{tid}

我的清单版本是1.15,支持TeamsJS 2.0.0或更高版本,但在我的测试过程中,

{tid}
已扩展,而
{user.tenant.id}
未扩展。我的选项卡的 contentUrl 是:

https://teams.test.dev/Home/Debug?tenant1={tid}&tenant2={user.tenant.id}

由 Teams 发送为:

https://teams.test.dev/Home/Debug?tenant1=ACTUAL-TENANT-GUID&tenant2=%7buser.tenant.id%7d

虽然我期望:

https://teams.test.dev/Home/Debug?tenant1=%7btid%7d&tenant2=ACTUAL-TENANT-GUID

上述文档是否有错误,或者我遗漏了什么?

我的清单(已替换 GUID 和域):

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.15/MicrosoftTeams.schema.json",
    "version": "1.0.0",
    "manifestVersion": "1.15",
    "id": "11111111-1111-1111-1111-111111111111",
    "packageName": "dev.test.teams",
    "name": {
        "short": "Test Dev",
        "full": "Test development app"
    },
    "developer": {
        "name": "Dev",
        "mpnId": "",
        "websiteUrl": "https://teams.test.dev",
        "privacyUrl": "https://teams.test.dev/privacy",
        "termsOfUseUrl": "https://teams.test.dev/termsofuse"
    },
    "description": {
        "short": "Short description",
        "full": "This is a long description..."
    },
    "icons": {
        "outline": "outline.png",
        "color": "color.png"
    },
    "accentColor": "#FFFFFF",
    "staticTabs": [
        {
            "entityId": "22222222-2222-2222-2222-222222222222",
            "name": "Debug",
            "contentUrl": "https://teams.test.dev/Home/Debug?tenant1={tid}&tenant2={user.tenant.id}",
            "websiteUrl": "https://teams.test.dev/Home/Debug",
            "scopes": [
                "personal"
            ]
        },
        {
            "entityId": "about",
            "scopes": [
                "personal"
            ]
        }
    ],
    "validDomains": [
        "*.test.dev"
    ],
    "webApplicationInfo": {
        "id": "33333333-3333-3333-3333-333333333333",
        "resource": "api://teams.test.dev/33333333-3333-3333-3333-333333333333"
    }
}
microsoft-teams
2个回答
1
投票

我很想听听 Microsoft 对此的回答(幸运的是,该团队在该网站上非常活跃),但在我看来,虽然您的 code 可以使用 TeamsJS v2,但传递正确的查询字符串值将取决于团队客户,完全超出您的控制范围。您可能需要更新的客户端才能使其正常工作,或者可能是 current Teams 客户端中的错误,但无论如何,在您的代码中,您可以仅依赖

{tid}
来处理获取 Teams 上下文后,查询字符串和 user.tenant.id。这可能是合理的未来证明,因为我看不到 Microsoft 很快就会破坏查询字符串名称 - 这对现有客户和 ISV 代码来说将是一个主要问题。


0
投票

@Sayali-MSFT 有任何更新吗?占位符在 Macos 上的 Teams 中仍然不起作用。 版本:1.6.00.27655

© www.soinside.com 2019 - 2024. All rights reserved.