Graph 要求在 Teams 上安装应用 returns 409(冲突)
Graph calls for installing app on Teams returns 409 (Conflict)
在尝试为团队安装应用程序时,我的图形调用突然开始 return 409(冲突)- 有什么原因吗?
我要安装的应用是 Dynamics 365 应用,其 teamsAppId:cd2d8695-bdc9-4d8e-9620-cc963ed81f41
我使用的电话(POST):
https://graph.microsoft.com/v1.0/teams/[my 团队 ID]/installedApps
正文:
{
"teamsApp odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/cd2d8695-bdc9-4d8e-9620-cc963ed81f41"
}
回复:
{
"error": {
"code": "Conflict",
"message": "AppEntitlement id: 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41' already exists in TeamId: '19:e2pHF8IE87LgVTlA_4zDD5LblLqViGo7GcdtcsW9hOw1@thread.tacv2' ",
"innerError": {
"message": "AppEntitlement id: 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41' already exists in TeamId: '19:e2pHF8IE87LgVTlA_4zDD5LblLqViGo7GcdtcsW9hOw1@thread.tacv2' ",
"code": "Conflict",
"innerError": {},
"date": "2022-03-28T18:13:36",
"request-id": "424e8c44-ab49-4706-9dc0-1af3ecea6145",
"client-request-id": "248ad040-ab62-5190-26a8-c2da6127716c"
}
}
疑难解答:
确认应用程序未安装,如果我 运行 使用 (GET) 检查应用程序是否已安装:
https://graph.microsoft.com/v1.0/teams/[my 团队 ID]/installedApps?$expand=teamsAppDefinition&$filter=teamsAppDefinition/teamsAppId eq '{cd2d8695-bdc9-4d8e-9620-cc963ed81f41}'
它returns:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('a001122-2c62-4006-adaa-6d8112b660f3')/installedApp...())",
"@odata.count": 0,
"value": []
}
如果使用 (GET) 相同:
https://graph.microsoft.com/v1.0/teams/[my队号]/installedApps/cd2d8695-bdc9-4d8e-9620-cc963ed81f41
我在哪里得到:
“未找到团队“[我的团队 ID]”的 ID 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41' 的应用程序安装。”
很明显,该应用程序尚未安装,所以关于为什么突然开始发生这种情况有什么想法吗?
/亚当
我在检查该应用程序是否已安装的电话中出现错字,id 周围不应有“{”和“}”。
所以使用正确的调用:
https://graph.microsoft.com/v1.0/teams/[my team id]/installedApps?$expand=teamsAppDefinition&$filter=teamsAppDefinition/teamsAppId eq 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41'
Returns 如果该应用程序已安装,我可以在尝试安装该应用程序之前使用上述调用以确保它未安装。
在尝试为团队安装应用程序时,我的图形调用突然开始 return 409(冲突)- 有什么原因吗?
我要安装的应用是 Dynamics 365 应用,其 teamsAppId:cd2d8695-bdc9-4d8e-9620-cc963ed81f41
我使用的电话(POST):
https://graph.microsoft.com/v1.0/teams/[my 团队 ID]/installedApps
正文:
{
"teamsApp odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/cd2d8695-bdc9-4d8e-9620-cc963ed81f41"
}
回复:
{
"error": {
"code": "Conflict",
"message": "AppEntitlement id: 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41' already exists in TeamId: '19:e2pHF8IE87LgVTlA_4zDD5LblLqViGo7GcdtcsW9hOw1@thread.tacv2' ",
"innerError": {
"message": "AppEntitlement id: 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41' already exists in TeamId: '19:e2pHF8IE87LgVTlA_4zDD5LblLqViGo7GcdtcsW9hOw1@thread.tacv2' ",
"code": "Conflict",
"innerError": {},
"date": "2022-03-28T18:13:36",
"request-id": "424e8c44-ab49-4706-9dc0-1af3ecea6145",
"client-request-id": "248ad040-ab62-5190-26a8-c2da6127716c"
}
}
疑难解答:
确认应用程序未安装,如果我 运行 使用 (GET) 检查应用程序是否已安装:
https://graph.microsoft.com/v1.0/teams/[my 团队 ID]/installedApps?$expand=teamsAppDefinition&$filter=teamsAppDefinition/teamsAppId eq '{cd2d8695-bdc9-4d8e-9620-cc963ed81f41}'
它returns:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('a001122-2c62-4006-adaa-6d8112b660f3')/installedApp...())",
"@odata.count": 0,
"value": []
}
如果使用 (GET) 相同:
https://graph.microsoft.com/v1.0/teams/[my队号]/installedApps/cd2d8695-bdc9-4d8e-9620-cc963ed81f41
我在哪里得到:
“未找到团队“[我的团队 ID]”的 ID 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41' 的应用程序安装。”
很明显,该应用程序尚未安装,所以关于为什么突然开始发生这种情况有什么想法吗?
/亚当
我在检查该应用程序是否已安装的电话中出现错字,id 周围不应有“{”和“}”。
所以使用正确的调用:
https://graph.microsoft.com/v1.0/teams/[my team id]/installedApps?$expand=teamsAppDefinition&$filter=teamsAppDefinition/teamsAppId eq 'cd2d8695-bdc9-4d8e-9620-cc963ed81f41'
Returns 如果该应用程序已安装,我可以在尝试安装该应用程序之前使用上述调用以确保它未安装。