Publicar teamsApp
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Publique um aplicativo no catálogo de aplicativos do Microsoft Teams.
Especificamente, essa API publica o aplicativo no catálogo da sua organização (o catálogo de aplicativos de locatário); o recurso criado tem um valor de propriedade distributionMethod de organization
.
A propriedade requiresReview permite que qualquer usuário envie um aplicativo para revisão por um administrador. Os administradores podem aprovar ou rejeitar esses aplicativos por meio dessa API ou do centro de administração do Microsoft Teams.
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | AppCatalog.Submit | AppCatalog.ReadWrite.All, Directory.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Aplicativo | Sem suporte. | Sem suporte. |
Observação
A permissão Directory.ReadWrite.All tem suporte apenas para compatibilidade com versões anteriores. Recomendamos que você atualize suas soluções para usar uma permissão alternativa listada na tabela anterior e evite usar essas permissões daqui para frente.
Solicitação HTTP
POST /appCatalogs/teamsApps
Para publicar um aplicativo que requer uma revisão:
POST /appCatalogs/teamsApps?requiresReview={Boolean}
Parâmetros de consulta
Propriedade | Tipo | Descrição |
---|---|---|
requiresReview | Booliano | Esse parâmetro de consulta opcional dispara o processo de revisão do aplicativo. Usuários com privilégios de administrador podem enviar aplicativos sem disparar uma revisão. Se os usuários desejarem solicitar uma revisão antes da publicação, eles devem definir requiresReview como true . Um usuário que tem privilégios de administrador pode optar por não definir requerReview ou definir o valor como false e o aplicativo é aprovado e publicado imediatamente. |
Cabeçalhos de solicitação
Cabeçalho | Valor |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-Type | application/zip. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, inclua um conteúdo de manifesto zip do Teams. Para obter detalhes, consulte Criar um pacote de aplicativo.
Cada aplicativo no catálogo de aplicativos deve ter uma ID de manifesto exclusiva.
Resposta
Se for bem-sucedido, esse método retornará um código de 200 OK
resposta e um objeto teamsApp . Se o manifesto do aplicativo tiver erros de validação, a solicitação retornará uma resposta de erro com detalhes sobre os erros de esquema.
Exemplos
Exemplo 1: publicar um aplicativo no catálogo de aplicativos
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/appCatalogs/teamsApps
Content-type: application/zip
[Zip file containing a Teams app package]
Para obter informações sobre como criar um arquivo zip de aplicativo do Microsoft Teams, consulte Criar um pacote de aplicativo.
Resposta
O exemplo a seguir mostra a resposta.
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"
}
Exemplo 2: Carregar um novo aplicativo para revisão no catálogo de aplicativos de uma organização
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip
Resposta
O exemplo a seguir mostra a resposta.
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"
}
Exemplo 3: aprovar ou rejeitar uma revisão pendente do aplicativo
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/appCatalogs/teamsApps/a761ad07-22ef-4a53-9feb-2837c8ad4a84/appDefinitions/YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk
Content-type: application/json
If-Match: InFtSStsNVJHVWdzWUJRU2ZVWGp4RWc9PSI=
{
"publishingState":"published"
}
Resposta
O exemplo a seguir mostra a resposta.
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
}
Exemplo 4: publicar um aplicativo com um erro no manifesto do aplicativo no catálogo de aplicativos
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip
[Zip file containing a Teams app package]
Resposta
O exemplo a seguir mostra a resposta.
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"
}
}
}
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de