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 de versão.

Publique um aplicativo no catálogo de Microsoft Teams de aplicativos. Especificamente, essa API publica o aplicativo no catálogo da sua organização (o catálogo de aplicativos de locatários); o recurso criado terá 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 Microsoft Teams de administração.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) AppCatalog.Submit, AppCatalog.ReadWrite.All, Directory.ReadWrite.All**
Delegado (conta pessoal da Microsoft) Sem suporte
Aplicativo Sem suporte.

Observação: as permissões marcadas com ** têm 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 adiante.

Solicitação HTTP

POST /appCatalogs/teamsApps

Para publicar um aplicativo que exija uma revisão:

POST /appCatalogs/teamsApps?requiresReview:{Boolean}

Parâmetros de consulta

Propriedade Tipo Descrição
requiresReview Boolean Esse parâmetro de consulta opcional aciona o processo de revisão do aplicativo. Os usuários com privilégios de administrador podem enviar aplicativos sem disparar uma revisão. Se os usuários quiserem solicitar uma revisão antes da publicação, eles deverão definir requiresReview como true. Um usuário com privilégios de administrador pode requiresReview false optar por não definir ou definir o valor como e o aplicativo será considerado aprovado e publicará instantaneamente.

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório.
Content-Type application/zip. Obrigatório.

Corpo da solicitação

No corpo da solicitação, inclua uma carga Teams de manifesto zip. Para obter detalhes, consulte Criar um pacote de aplicativos.

Cada aplicativo no catálogo de aplicativos deve ter um manifesto exclusivo id.

Resposta

Se tiver êxito, este método retornará um código 200 OK de resposta e um objeto teamsApp .

Exemplos

Exemplo 1: Publicar um aplicativo no catálogo de aplicativos

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 Microsoft Teams aplicativo, consulte Create an app package.

Resposta

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "name": "Test App",
  "version": "1.0.0",
  "distributionMethod": "organization"
}

Exemplo 2: Upload um novo aplicativo para revisão para o catálogo de aplicativos de uma organização

Solicitação

POST https://graph.microsoft.com/beta/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip

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",
  "name": "Test App",
  "version": "1.0.0",
  "distributionMethod": "organization"
}

Exemplo 3: Aprovar ou rejeitar uma revisão pendente de um aplicativo

Solicitação

HTTP

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

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
}