Publicar teamsApp
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Publicar una aplicación en el catálogo de aplicaciones de Microsoft Teams.
En concreto, esta API publica la aplicación en el catálogo de la organización (el catálogo de aplicaciones de inquilino); el recurso creado tiene un valor de propiedad distributionMethod de organization
.
La propiedad requiresReview permite a cualquier usuario enviar una aplicación para que la revise un administrador. Los administradores pueden aprobar o rechazar estas aplicaciones a través de esta API o del Centro de administración de Microsoft Teams.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
Servicio global | Gobierno de EE. UU. L4 | Us Government L5 (DOD) | China operada por 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | AppCatalog.Submit | AppCatalog.ReadWrite.All, Directory.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | No admitida. | No admitida. |
Nota:
El permiso Directory.ReadWrite.All 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
POST /appCatalogs/teamsApps
Para publicar una aplicación que requiera una revisión:
POST /appCatalogs/teamsApps?requiresReview={Boolean}
Parámetros de consulta
Propiedad | Tipo | Descripción |
---|---|---|
requiresReview | Booleano | Este parámetro de consulta opcional desencadena el proceso de revisión de la aplicación. Los usuarios con privilegios de administrador pueden enviar aplicaciones sin desencadenar una revisión. Si los usuarios quieren solicitar una revisión antes de publicar, deben establecer requiresReview en true . Un usuario que tenga privilegios de administrador puede optar por no establecer requiresReview o establecer el valor en false y la aplicación se aprueba e inmediatamente se publica. |
Encabezados de solicitud
Encabezado | Valor |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Content-Type | application/zip. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, incluya una carga del manifiesto zip de Teams. Para obtener más información, consulte Creación de un paquete de aplicación.
Cada aplicación del catálogo de aplicaciones debe tener un identificador de manifiesto único.
Respuesta
Si se ejecuta correctamente, este método devuelve un 200 OK
código de respuesta y un objeto teamsApp . Si el manifiesto de la aplicación tiene errores de validación, la solicitud devuelve una respuesta de error con detalles sobre los errores de esquema.
Ejemplos
Ejemplo 1: Publicación de una aplicación en el catálogo de aplicaciones
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/appCatalogs/teamsApps
Content-type: application/zip
[Zip file containing a Teams app package]
Para obtener información sobre cómo crear un archivo zip de aplicación de Microsoft Teams, consulte Creación de un paquete de aplicación.
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
"externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
"displayName": "Test App",
"distributionMethod": "organization"
}
Ejemplo 2: Carga de una nueva aplicación para su revisión en el catálogo de aplicaciones de una organización
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/beta/appCatalogs/teamsApps/e3e29acb-8c79-412b-b746-e6c39ff4cd22
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps/$entity",
"id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
"externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
"displayName": "Test App",
"distributionMethod": "organization"
}
Ejemplo 3: Aprobación o rechazo de una aplicación pendiente de revisión
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PATCH https://graph.microsoft.com/beta/appCatalogs/teamsApps/a761ad07-22ef-4a53-9feb-2837c8ad4a84/appDefinitions/YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk
Content-type: application/json
If-Match: InFtSStsNVJHVWdzWUJRU2ZVWGp4RWc9PSI=
{
"publishingState":"published"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps('a761ad07-22ef-4a53-9feb-2837c8ad4a84')/appDefinitions/$entity",
"id": "YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjUHVibGlzaGVk",
"teamsAppId": "a761ad07-22ef-4a53-9feb-2837c8ad4a84",
"azureADAppId": null,
"displayName": "Ducks",
"version": "1.1.8",
"requiredResourceSpecificApplicationPermissions": [],
"publishingState": "published",
"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": null,
"createdBy": null
}
Ejemplo 4: Publicación de una aplicación con un error en el manifiesto de la aplicación en el catálogo de aplicaciones
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip
[Zip file containing a Teams app package]
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: application/json
{
"error": {
"code": "BadRequest",
"message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
"innerError": {
"code": "UnableToParseTeamsAppManifest",
"message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
"details": [
{
"code": "SchemaError_Required",
"message": "Required properties are missing from object: [].",
"target": "name"
},
{
"code": "SchemaError_Pattern",
"message": "String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
"target": "developer.websiteUrl"
}
],
"date": "2024-01-18T21:47:58",
"request-id": "d1878136-bc88-421a-b342-c3d883db31a1",
"client-request-id": "d1878136-bc88-421a-b342-c3d883db31a1"
}
}
}
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de