首页 > 解决方案 > 无法为 POST 获取 EntityId 以创建新的频道选项卡

问题描述

我可以通过编程方式创建频道选项卡(而不是从配置弹出窗口)成功地将自定义选项卡添加到团队/频道

但是,POST 请求形状看起来像

{
    "displayName": "my-title-display-name",
    "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/bd839104-9f20-4a1f-bbb9-226897156642",
    "configuration": {
        "contentUrl": "https://myurl.com/index.html",
    }
}

问题是确定"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/bd839104-9f20-4a1f-bbb9-226897156642"

部分

此处的“bd839104-9f20-4a1f-bbb9-226897156642”GUID 不起作用,即使它是在我的 manifest.json 中定义的:

(错误信息是

Microsoft.Graph.ServiceException: 'Code: InvalidRequest
Message: App id bd839104-9f20-4a1f-bbb9-226897156642 needs to be installed to the team 07331d69-xxxxx and be in an unblocked state to install/update a tab

)

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
    "manifestVersion": "1.5",
    "version": "1.0.44",
    "id": "bd839104-9f20-4a1f-bbb9-226897156642",
    "packageName": "software.random.com",
    "developer": {
        "name": "Random Software",

(etc)

我使用 Microsoft Graph/teams/id/installedApps并找到了一个随机 GUID(列表中的最后一个,我的自定义应用程序)并成功使用了该 GUID。(它是base64编码的)

问题

如何从manifest.json ID 映射到installedApp id?

我看到了开发人员生成的 id 和 AppCatalog Id 之间的区别;但只有全局管理员可以访问此图形端点(参考https://docs.microsoft.com/en-us/graph/api/teamsapp-list?view=graph-rest-1.0

标签: microsoft-teams

解决方案


推荐阅读