Upsert application (Aplicação upsert)

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.

Crie um novo objeto de aplicação se não existir ou atualize as propriedades de um objeto de aplicação existente.

Importante

Não há suporte para o uso do PATCH para definir passwordCredential. Utilize os métodos addPassword e removePassword para atualizar a palavra-passe ou o segredo de uma aplicação.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Application.ReadWrite.All Indisponível.
Delegado (conta pessoal da Microsoft) Application.ReadWrite.All Indisponível.
Application Application.ReadWrite.OwnedBy Application.ReadWrite.All

Solicitação HTTP

Para criar ou atualizar uma aplicação, especifique a chave alternativa fornecida pelo cliente uniqueName .

PATCH /applications(uniqueName='{uniqueName}')

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.
Preferir create-if-missing. Necessário para o comportamento de upsert, caso contrário, o pedido é tratado como uma operação de atualização.

Corpo da solicitação

No corpo do pedido, forneça uma representação JSON do objeto da aplicação . O corpo do pedido tem de conter displayName, que é uma propriedade necessária. Especifique outras propriedades graváveis conforme necessário para a sua aplicação, para criação ou atualização.

Resposta

Se não existir um objeto de aplicação com uniqueName , este método devolve um 201 Created código de resposta e um novo objeto de aplicação no corpo da resposta. É atribuído à aplicação o valor uniqueName.

Se não existir um objeto de aplicação com uniqueName e o Prefer: create-if-missing cabeçalho não for especificado, este método devolve um 404 Not Found código de erro.

Se já existir um objeto de aplicação com uniqueName , este método atualiza o objeto da aplicação e devolve um código de 204 No Content resposta.

Exemplos

Exemplo 1: criar uma nova aplicação se não existir

O exemplo seguinte cria uma aplicação porque não existe uma aplicação com o valor uniqueName especificado.

Solicitação

O exemplo a seguir mostra uma solicitação.

PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')
Content-Type: application/json
Prefer: create-if-missing

{
  "displayName": "Display name"
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications/$entity",
    "id": "03ef14b0-ca33-4840-8f4f-d6e91916010e",
    "deletedDateTime": null,
    "isFallbackPublicClient": null,
    "appId": "631a96bc-a705-4eda-9f99-fdaf9f54f6a2",
    "applicationTemplateId": null,
    "identifierUris": [],
    "createdDateTime": "2019-09-17T19:10:35.2742618Z",
    "displayName": "Display name",
    "isDeviceOnlyAuthSupported": null,
    "groupMembershipClaims": null,
    "optionalClaims": null,
    "addIns": [],
    "publisherDomain": "contoso.onmicrosoft.com",
    "samlMetadataUrl": "https://graph.microsoft.com/2h5hjaj542de/app",
    "signInAudience": "AzureADandPersonalMicrosoftAccount",
    "tags": [],
    "tokenEncryptionKeyId": null,
    "api": {
        "requestedAccessTokenVersion": 2,
        "acceptMappedClaims": null,
        "knownClientApplications": [],
        "oauth2PermissionScopes": [],
        "preAuthorizedApplications": []
    },
    "appRoles": [],
    "publicClient": {
        "redirectUris": []
    },
    "info": {
        "termsOfServiceUrl": null,
        "supportUrl": null,
        "privacyStatementUrl": null,
        "marketingUrl": null,
        "logoUrl": null
    },
    "keyCredentials": [],
    "parentalControlSettings": {
        "countriesBlockedForMinors": [],
        "legalAgeGroupRule": "Allow"
    },
    "passwordCredentials": [],
    "requiredResourceAccess": [],
    "uniqueName": "app-65278",
    "web": {
        "redirectUris": [],
        "homePageUrl": null,
        "logoutUrl": null,
        "implicitGrantSettings": {
            "enableIdTokenIssuance": false,
            "enableAccessTokenIssuance": false
        }
    }, 
    "windows" : null
}

Exemplo 2: Atualizar uma aplicação existente

O exemplo seguinte atualiza a aplicação porque existe uma aplicação com o valor uniqueName especificado.

Solicitação

O exemplo a seguir mostra uma solicitação.

PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')
Content-Type: application/json
Prefer: create-if-missing

{
  "displayName": "Display name"
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 204 No Content