Microsoft graph api TeamsLogon.aspx未传递子实体ID

Microsoft graph api TeamsLogon.aspx未传递子实体ID,microsoft-graph-api,microsoft-teams,sharepoint-online,spfx,microsoft-graph-teams,Microsoft Graph Api,Microsoft Teams,Sharepoint Online,Spfx,Microsoft Graph Teams,我已经构建了一个自定义团队应用程序,其中有一个指向SharePoint页面的静态选项卡 应用程序清单中选项卡的代码为 "entityId": "mytab", "name": "My Static Tab", "contentUrl": "https://TENANT.sharepoint.com/sites/TARGETSITE/_lay

我已经构建了一个自定义团队应用程序,其中有一个指向SharePoint页面的静态选项卡

应用程序清单中选项卡的代码为

        "entityId": "mytab",
        "name": "My Static Tab",
        "contentUrl": "https://TENANT.sharepoint.com/sites/TARGETSITE/_layouts/15/TeamsLogon.aspx?SPFX=true&dest=https%3A%2F%2FTENANT.sharepoint.com%2Fsites%2FTARGETSITE%2FSitePages%2FTARGETPAGE.aspx",
        "websiteUrl": "https://TENANT.sharepoint.com/sites/TARGETSITE/SitePages/TARGETPAGE.aspx",
        "scopes": [
            "personal"
        ]
一切正常,身份验证工作正常

现在,我想在页面上执行一些操作,方法是使用作为subEntityId传递的某些参数深度链接到页面,并在SPFX Web部件中读取上下文的subEntityId。根据 但不幸的是,
subEntityId
的值总是
未定义的

深层次的联系将是

https://teams.microsoft.com/_?tenantId=e223420bb-edaf-792a-9dfd-961376a291ae#/apps/35cb66784-343b-4937-8980-9f38c47f737b/mytab?webUrl=https://TENANT.sharepoint.com/sites/TARGETSITE/SitePages/TARGETPAGE.aspx&context=%7B%22subEntityId%22:%20%22MY_PARAMETER_THAT_IS_NOT_PASSED%22%7D
仅链接到静态选项卡即可正常工作:

https://teams.microsoft.com/_?tenantId=e223420bb-edaf-792a-9dfd-961376a291ae#/apps/35cb66784-343b-4937-8980-9f38c47f737b/mytab
在这两种情况下,都会加载选项卡并显示SharePoint页面,Teams上下文已正确加载,但subEntityId始终为空。如何将此参数传递到我的SPFx web部件?

以下是修复此参数的方法:

不知何故,生成的包含租户id的链接对于具有subEntityId的深层链接无法正常工作

https://teams.microsoft.com/_?tenantId=e223420bb-edaf-792a-9dfd-961376a291ae#/apps/35cb66784-343b-4937-8980-9f38c47f737b/mytab?webUrl=https://TENANT.sharepoint.com/sites/TARGETSITE/SitePages/TARGETPAGE.aspx&context=%7B%22subEntityId%22:%20%22MY_PARAMETER_THAT_IS_NOT_PASSED%22%7D
https://teams.microsoft.com/l/entity/06bc21a9-422f-4dd6-b32d-11820a242651/mytab?context=%7B%22subEntityId%22:%22MYCUSTOMPARAMETERVALUE%22%7D
以下格式实现了将now MYCUSTOMPARAMETERVALUE正确传递给subEntityId的技巧

https://teams.microsoft.com/_?tenantId=e223420bb-edaf-792a-9dfd-961376a291ae#/apps/35cb66784-343b-4937-8980-9f38c47f737b/mytab?webUrl=https://TENANT.sharepoint.com/sites/TARGETSITE/SitePages/TARGETPAGE.aspx&context=%7B%22subEntityId%22:%20%22MY_PARAMETER_THAT_IS_NOT_PASSED%22%7D
https://teams.microsoft.com/l/entity/06bc21a9-422f-4dd6-b32d-11820a242651/mytab?context=%7B%22subEntityId%22:%22MYCUSTOMPARAMETERVALUE%22%7D

在深度链接中添加子实体id时,您将在tabcontext中收到子实体id的值。您能检查一下吗?您好,subEntityId已经是深度链接中上下文的一部分,您可以在上面看到。还是我必须把它放在别的地方?我有一个静态选项卡,没有可以传递值的可配置选项卡。让我来分享一下我的尝试:(1)我制作了一张Adptive卡。我使用深层链接将标签嵌入下面的自适应卡中,该卡用于power Automation发送通知,单击按钮,它将导航到标签并传递参数化url(2),然后像这样将项目id使用到SPFx Web部件中。SubEntityId用于获取参数化值,分配给提供的变量:“public componentWillMount(){microsoftTeams.getContext(teamsContext=>{this.itemId=teamsContext.SubEntityId;});}”,这正是我所需要的。但是subEntityId总是空的。你能分享你使用的网址吗?两者都在应用程序清单中,对于包含context/subEntityId?Aaw的深层链接,这很酷@ben。让我检查一下我的代码库,看看能为您提供什么。