Enumerar teamsApp

Espacio de nombres: microsoft.graph

Enumere las aplicaciones del catálogo de aplicaciones de Microsoft Teams. Esto incluye aplicaciones de la tienda Microsoft Teams, así como aplicaciones del catálogo de aplicaciones de la organización (el catálogo de aplicaciones de inquilino). Para obtener solo aplicaciones del catálogo de aplicaciones de la organización, especifique organization como distributionMethod en la solicitud.

Nota

El id servidor genera el de un recurso teamsApp y no es el mismo que el id especificado en un manifiesto de aplicación de Teams. El id elemento proporcionado por el desarrollador como parte del manifiesto de aplicación de Teams se marca como externalId en el recurso teamsApp.

Permisos

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) AppCatalog.Submit, AppCatalog.Read.All, AppCatalog.ReadWrite.All, Directory.Read.All , Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida.
Aplicación AppCatalog.Read.All, AppCatalog.ReadWrite.All

Nota: el soporte de los permisos marcados con ** solo se admite para la compatibilidad con versiones anteriores. Se recomienda actualizar las soluciones para usar un permiso alternativo enumerado en la tabla anterior y así evitar el uso de estos permisos en el futuro.

Solicitud HTTP

GET /appCatalogs/teamsApps

Parámetros de consulta opcionales

Este método admite los parámetros $filter, $select y $expand de consulta de OData para ayudar a personalizar la respuesta.

El uso $expand=AppDefinitions devolverá más información sobre el estado de la aplicación, como publishingState, que refleja el estado de revisión del envío de la aplicación y devuelve si una aplicación se ha aprobado, rechazado o permanece bajo revisión.

Nota: Puede filtrar por cualquiera de los campos del objeto teamsApp para acortar la lista de resultados. Puede usar cualquiera de las siguientes operaciones de filtro: Igual, no igual y, o, y no.

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para este método.

Respuesta

Si se ejecuta correctamente, este método devuelve un 200 OK código de respuesta y una lista de objetos teamsApp en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Enumerar todas las aplicaciones específicas del inquilino

En el ejemplo siguiente se enumeran todas las aplicaciones que son específicas del inquilino.

Solicitud

GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=distributionMethod eq 'organization'

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "b1c5353a-7aca-41b3-830f-27d5218fe0e5",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "name": "Test App",
      "version": "1.0.1",
      "distributionMethod": "Organization"
    }
  ]
}

Ejemplo 2: Enumerar aplicaciones con un identificador determinado

En el ejemplo siguiente se enumeran las aplicaciones con un identificador determinado.

Solicitud

GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=id%20eq%20'b1c5353a-7aca-41b3-830f-27d5218fe0e5'

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "b1c5353a-7aca-41b3-830f-27d5218fe0e5",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "name": "Test App",
      "version": "1.0.1",
      "distributionMethod": "Organization"
    }
  ]
}

Ejemplo 3: Busque la aplicación en función del identificador de manifiesto de Teams aplicación.

En el ejemplo siguiente se enumeran las aplicaciones que coinciden con el "id" especificado en el manifiesto de aplicación de Teams. En el ejemplo, la id. de manifiesto de la aplicación de Microsoft Teams es 'cf1ba4c7-f94e-4d80-ba90-5594b641a8ee'.

Solicitud

GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=externalId eq 'cf1ba4c7-f94e-4d80-ba90-5594b641a8ee'

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps",
    "value": [
        {
            "id": "22f73bbe-f67a-4dea-bd54-54cac718cb2b",
            "externalId": "cf1ba4c7-f94e-4d80-ba90-5594b641a8ee",
            "displayName": "YPA",
            "distributionMethod": "organization"
        }
    ]
}

Ejemplo 4: Enumerar aplicaciones con un identificador determinado y devolver el estado de revisión de envío

En el ejemplo siguiente se enumeran las aplicaciones con un identificador determinado y se expande appDefinitions para devolver publishingState, que refleja el estado de revisión del envío de la aplicación. Submitted significa que la revisión está pendiente, published significa que el administrador aprobó la aplicación y rejected significa que el administrador rechazó la aplicación.

Solicitud

GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=id eq '876df28f-2e78-423b-94a5-44181bd0e225'&$expand=appDefinitions

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "876df28f-2e78-423b-94a5-44181bd0e225",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "name": "Test App",
      "version": "1.0.1",
      "distributionMethod": "Organization",
      "appDefinitions": [
        {
          "id": "NGQyMGNiNDUtZWViYS00ZTEyLWE3YzktMGQ0NDgzYjYxNzU2IyMxLjAuMA==",
          "teamsAppId": "876df28f-2e78-423b-94a5-44181bd0e225",
          "azureADAppId": null,
          "displayName": "Test App",
          "version": "1.0.1",
          "requiredResourceSpecificApplicationPermissions": [],
          "publishingState": "published"
        }
      ]
    }
  ]
}

Ejemplo 5: Enumeración de los detalles de solo las aplicaciones del catálogo que contienen un bot

En el ejemplo siguiente se enumeran solo las aplicaciones del catálogo que contienen un bot.

Solicitud

GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$expand=appDefinitions($expand=bot)&$filter=appDefinitions/any(a:a/bot ne null)

Respuesta

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps(appDefinitions(bot()))",
    "value": [
        {
            "id": "8a1ed7a3-5c78-46b2-8504-f9da00a1d1a6",
            "externalId": "3CAB7543-216D-47C6-986C-6247670F4663",
            "displayName": "Ducks-3",
            "distributionMethod": "organization",
            "appDefinitions": [
                {
                    "@odata.etag": "ImNOTW1CR2V1VzgwczlEblVidU00UHc9PSI=",
                    "id": "OGExZWQ3YTMtNWM3OC00NmIyLTg1MDQtZjlkYTAwYTFkMWE2IyMxLjAuOSMjUmVqZWN0ZWQ=",
                    "teamsAppId": "8a1ed7a3-5c78-46b2-8504-f9da00a1d1a6",
                    "azureADAppId": null,
                    "displayName": "Ducks-3",
                    "version": "1.0.9",
                    "requiredResourceSpecificApplicationPermissions": [],
                    "publishingState": "rejected",
                    "shortDescription": "quaerat quasi magnam. slight change. 5",
                    "description": "Aliquid placeat animi debitis accusamus. Non perferendis ullam. Quis est consequuntur vitae provident. Sunt laudantium id aut. slight change 5",
                    "lastModifiedDateTime": "2020-11-23T21:36:00.9437445Z",
                    "createdBy": {
                        "application": null,
                        "device": null,
                        "conversation": null,
                        "user": {
                            "id": "70292a90-d2a7-432c-857e-55db6d8f5cd0",
                            "displayName": null,
                            "userIdentityType": "aadUser"
                        }
                    },
                    "bot": {
                        "id": "bb9f67a4-893b-48d7-ab17-40ed466c0f16"
                    }
                }
            ]
        },
        {
            "id": "30909dee-f7dd-4f89-8b3b-55de2e32489c",
            "externalId": "0ebd3f4d-ca91-495b-a227-a17d298e22cc",
            "displayName": "Self-Install-App-E2E-Tests",
            "distributionMethod": "organization",
            "appDefinitions": [
                {
                    "@odata.etag": "IkwzVDlMOTBSSEdTMFducHUyYkpjVmc9PSI=",
                    "id": "MzA5MDlkZWUtZjdkZC00Zjg5LThiM2ItNTVkZTJlMzI0ODljIyM2LjAuMCMjU3VibWl0dGVk",
                    "teamsAppId": "30909dee-f7dd-4f89-8b3b-55de2e32489c",
                    "azureADAppId": "d75abc57-8255-4309-9c29-a3c689e20341",
                    "displayName": "Self-Install-App-E2E-Tests",
                    "version": "6.0.0",
                    "requiredResourceSpecificApplicationPermissions": [],
                    "publishingState": "submitted",
                    "shortDescription": "A conversational smart assistant from MSX that surfaces real-time insights.",
                    "description": "For MSX Users: A conversational role-based smart assistant that will enable Enterprise sellers (AE, ATS, SSP, TSP) to be more productive by surfacing real-time insights, recommendations, actions and notifications, and by automating repetitive tasks.",
                    "lastModifiedDateTime": "2020-08-25T18:40:13.035341Z",
                    "createdBy": {
                        "application": null,
                        "device": null,
                        "conversation": null,
                        "user": {
                            "id": "c071a180-a220-43a1-adaf-e8db95c4a7d6",
                            "displayName": null,
                            "userIdentityType": "aadUser"
                        }
                    },
                    "bot": {
                        "id": "da7d471b-de7d-4152-8556-1cdf7a564f6c"
                    }
                }
            ]
        }
    ]
}

Vea también