Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve o formato do formato de arquivo JSON de definição de ação para Ações de Aplicativo no Windows. Esse arquivo deve ser incluído em seu projeto com a Ação de Build definida como "Conteúdo" e Copiar para Diretório de Saída definida como "Copiar se for mais recente". Especifique o caminho relativo ao pacote para o arquivo JSON no arquivo XML do manifesto do pacote. Para obter mais informações, consulte Formato XML do manifesto do pacote do provedor de ação.
Exemplo de arquivo JSON de definição de ação
"version": 3,
"actions": [
{
"id": "Contoso.SampleGreeting",
"description": "Send greeting with Contoso",
"icon": "ms-resource//...",
"usesGenerativeAI": false,
"isAvailable": false,
"allowedAppInvokers": ["*"],
"inputs": [
{
"name": "UserFriendlyName",
"kind": "Text"
},
{
"name": "PetName",
"kind": "Text",
"required": false
}
],
"inputCombinations": [
{
"inputs": ["UserFriendlyName"],
"description": "Greet ${UserFriendlyName.Text}"
},
{
"inputs": ["UserFriendlyName", "PetName"],
"description": "Greet ${UserFriendlyName.Text} and their pet ${PetName.Text}"
}
],
"contentAgeRating": "child",
"invocation":
{
{
"type": "Uri",
"uri": "contoso://greetUser?userName=${UserFriendlyName.Text}&petName=${PetName.Text}",
},
"where": [
"${UserFriendlyName.Length > 3}"
]
}
},
{
"id": "Contoso.SampleGetText",
"description": "Summarize file with Contoso",
"icon": "ms-resource://...",
"inputs": [
{
"name": "FileToSummarize",
"kind": "File"
}
],
"inputCombinations": [
{
"inputs": ["FileToSummarize"],
"description": "Summarize ${FileToSummarize.Path}"
},
],
"outputs": [
{
"name": "Summary",
"kind": "Text"
}
],
"contentAgeRating": "child",
"invocation": {
"type": "COM",
"clsid": "{...}"
}
}
]
}
Propriedades JSON de definição de ação
As tabelas abaixo descrevem as propriedades do arquivo JSON de definição de ação.
O campo Versão indica a versão do esquema na qual a propriedade foi introduzida.
O campo PWA indica suporte para provedores de ação que são implementados como um PWA (Aplicativo Web Progressivo). Para obter mais informações sobre ações de aplicativo com PWAs, consulte Habilitar Ações de Aplicativo no Windows para um PWA.
Raiz do documento
| Propriedade | Tipo | Descrição | Obrigatório | Versão |
|---|---|---|---|---|
| versão | cadeia | Versão do esquema. Quando a nova funcionalidade é adicionada, a versão é incrementada por um. | Sim. | 2 |
| Ações | Ação[] | Define as ações fornecidas pelo aplicativo. | Sim. | 2 |
Ação
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| id | cadeia | Identificador de ação. Deve ser exclusivo por pacote de aplicativo. Esse valor não é localizável. | Sim | 2 | Sim |
| descrição | cadeia | Descrição para essa ação voltada para o usuário. Esse valor é localizável. | Sim | 2 | Sim |
| ícone | cadeia | Ícone localizável para a ação. Esse valor é uma string ms-resource para um ícone implementado com o aplicativo. | Não | 2 | Sim |
| allowedAppInvokers | cadeia de caracteres[] | Especifica uma lista de IDs do Modelo de Usuário de Aplicativo (AppUserModelIDs) que podem descobrir a ação por meio de uma chamada para GetActionsForInputs ou GetAllActions. Há suporte para curingas. "*" corresponderá a todos os AppUserModelIDs. Isso é recomendado para a maioria das ações, a menos que haja um motivo específico para limitar os chamadores que podem invocar uma ação. Se allowedAppInvokers for omitido ou for uma lista vazia, nenhum aplicativo poderá descobrir a ação. Para obter mais informações sobre AppUserModelIDs, consulte IDs do modelo de usuário do aplicativo | Não | 3 | Sim |
| usa IA Generativa | booleano | Especifica se a ação usa IA generativa. O valor padrão é false. | Não | 2 | Sim |
| está disponível | booleano | Especifica se a ação está disponível para uso durante a instalação. O valor padrão é true. | Sim | 2 | Sim |
| entradas | Entradas[] | Lista de entidades que essa ação aceita como entrada. | Sim | 2 | Sim |
| combinações de entrada | CombinaçãoDeEntrada[] | Fornece descrições para diferentes combinações de entradas. | Sim | 2 | Sim |
| saídas | Saída[] | Se especificado, deve ser uma cadeia de caracteres vazia na versão atual. | Não | 2 | Sim |
| invocação | Invocação | Fornece informações sobre como a ação é invocada. | Sim | 2 | Sim |
| classificaçãoEtáriaDoConteúdo | cadeia | Um nome de campo do UserAgeConsentGroup que especifica a classificação etária apropriada para a ação. Os valores permitidos são "Filho", "Menor", "Adulto". Se nenhum valor for especificado, o comportamento padrão permitirá o acesso a todas as idades. | Não | 2 | Sim |
Saída
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| nome | cadeia | O nome da variável da entidade. Esse valor não é localizável. | Sim | 2 | Sim |
| variante | cadeia | Um nome de campo da enumeração ActionEntityKind especificando o tipo de entidade. Esse valor não é localizável. Os valores permitidos são "None", "Document", "File", "Photo", "Text", "StreamingText", "RemoteFile", "Table", "Contact". | Sim | 2 | Sim |
A versão do esquema e o suporte ao PWA variam para os diferentes valores da propriedade kind. Consulte a entrada de cada tipo de entidade para obter detalhes.
Combinação de Entrada
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| entradas | cadeia de caracteres[] | Uma lista de nomes de entrada para uma invocação de ação. A lista pode estar vazia. | Sim | 2 | Sim |
| descrição | cadeia | Descrição da invocação de ação. Esse valor é localizável. | Não | 2 | Sim |
| onde | cadeia de caracteres[] | Uma ou mais instruções condicionais determinando as condições sob as quais a ação se aplica. | Não | 2 | Sim |
Invocação
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| tipo | cadeia | O tipo de instanciação da ação. Os valores permitidos são "uri" e "com". | Sim | 2 | Apenas "uri". |
| URI | cadeia | O URI absoluto para iniciar a ação. O uso da entidade pode ser incluído na cadeia de caracteres. Um parâmetro token=${$.Token} de cadeia de caracteres de consulta reservada especial pode ser adicionado ao URI para permitir que as ações validem que foram invocadas pelo Action Runtime. Para obter mais informações, consulte Usar o $. Parâmetro de cadeia de caracteres de consulta URI do token. |
Sim, para ações instanciadas por URI. | 2 | Sim |
| clsid | cadeia | A ID da classe COM que implementa IActionProvider. | Sim, para ações COM. | 2 | Não |
| dados de entrada | Pares de nome/valor JSON | Uma lista de pares nome/valor especificando dados adicionais para ações de URI. | Não. Somente válido para ações de URI. | 2 | Sim |
Enumeração ActionEntityKind
A enumeração ActionEntityKind especifica os tipos de entidades com suporte das Ações de Aplicativo no Windows. No contexto de uma definição de ação JSON, os tipos de entidade são literais de cadeia de caracteres que diferenciam maiúsculas de minúsculas.
| Cadeia de caracteres de tipo de entidade | Descrição | Versão | PWA |
|---|---|---|---|
| "Arquivo" | Inclui todos os tipos de arquivo que não possuem suporte por tipos de entidade de documento ou foto. | 2 | Somente entrada. |
| "Foto" | Tipos de arquivo de imagem. As extensões de arquivo de imagem com suporte são ".jpg", ".jpeg" e ".png" | 2 | Somente entrada. |
| "Documento" | Tipos de arquivo de documento. As extensões de arquivo de documento com suporte são ".doc", ".docx", ".pdf", ".txt" | 2 | Somente entrada. |
| "Texto" | Dá suporte a cadeias de caracteres de texto. | 2 | Somente entrada. |
| StreamingText | Dá suporte a cadeias de caracteres de texto transmitidas incrementalmente. | 2 | Falso |
| Arquivo Remoto | Dá suporte a metadados para habilitar ações para validar e recuperar arquivos de backup de um serviço de nuvem. | 2 | Somente entrada. |
| Tabela | Uma tabela 2D de valores de cadeia de caracteres serializada para uma matriz unidimensional de cadeias de caracteres. | 3 | Não. |
| Contato | Um conjunto de dados que representa um contato. | 3 | Somente entrada. |
Propriedades da entidade
Cada tipo de entidade dá suporte a uma ou mais propriedades que fornecem dados de instância para a entidade. Os nomes de propriedade da entidade diferenciam maiúsculas de minúsculas.
O exemplo a seguir ilustra como as entidades são referenciadas na cadeia de caracteres de consulta para ações que são iniciadas por meio da ativação do URI:
...?param1=${entityName.property1}¶m2=${entityName.property2}
Para obter informações sobre como usar propriedades de entidade para criar seções condicionais na definição de ação JSON, consulte Cláusulas Where.
Propriedades da entidade de arquivo
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| Nome do Arquivo | cadeia | O nome do arquivo. | 2 | Somente entrada. |
| "Caminho" | cadeia | O caminho do arquivo. | 2 | Somente entrada. |
| "Extensão" | cadeia | A extensão do arquivo. | 2 | Somente entrada. |
Propriedades da entidade do documento
A entidade Document dá suporte às mesmas propriedades que o Arquivo.
Propriedades da entidade da foto
A entidade Photo dá suporte a todas as propriedades do Arquivo , além das propriedades a seguir.
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| IsTemporaryPath | booleano | Um valor que especifica se a foto é armazenada em um caminho temporário. Por exemplo, essa propriedade é verdadeira para fotos armazenadas na memória de um bitmap, não armazenadas permanentemente em um arquivo. | 2 | Somente entrada. |
Propriedades da entidade de texto
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| "Texto" | cadeia | O texto completo. | 2 | Somente entrada. |
| Texto Curto | cadeia | Uma versão abreviada do texto, adequada para exibição da interface do usuário. | 2 | Somente entrada. |
| "Título" | cadeia | O título do texto. | 2 | Somente entrada. |
| "Descrição" | cadeia | Uma descrição do texto. | 2 | Somente entrada. |
| "Comprimento" | duplo | O comprimento do texto em caracteres. | 2 | Somente entrada. |
| Contagem de Palavras | duplo | O número de palavras no texto. | 2 | Somente entrada. |
Propriedades da entidade StreamingText
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| "TextFormat" | cadeia | O formato do texto de streaming. Os valores com suporte são "Texto simples", "Markdown". | 2 | Não |
Propriedades da entidade RemoteFile
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| IdentificaçãoDaConta | cadeia | O identificador da conta de serviço de nuvem associada ao arquivo remoto. | 2 | Somente entrada. |
| TipoDeConteúdo | cadeia | O tipo MIME do arquivo remoto. | 2 | Somente entrada. |
| "DriveId" | cadeia | O identificador da unidade remota associada ao arquivo remoto. | 2 | Somente entrada. |
| "Extensão" | cadeia | A extensão do arquivo remoto. | 2 | Somente entrada. |
| "FileId" | cadeia | O identificador do arquivo remoto. | 2 | Somente entrada. |
| "FileKind" | RemoteFileKind | O tipo de arquivo remoto. | 2 | Somente entrada. |
| IdFonte | cadeia | O identificador do serviço de nuvem que hospeda o arquivo remoto. | 2 | Somente entrada. |
| "SourceUri" | cadeia | O URI do arquivo remoto. | 2 | Somente entrada. |
Enumeração RemoteFileKind
A enumeração RemoteFileKind especifica os tipos de arquivos com suporte para a entidade RemoteFile .
| Cadeia de caracteres de tipo de entidade | Descrição | Versão |
|---|---|---|
| "Arquivo" | Inclui todos os tipos de arquivo que não possuem suporte por tipos de entidade de documento ou foto. | 2 |
| "Foto" | Tipos de arquivo de imagem. As extensões de arquivo de imagem com suporte são ".jpg", ".jpeg" e ".png" | 2 |
| "Documento" | Tipos de arquivo de documento. As extensões de arquivo de documento com suporte são ".doc", ".docx", ".pdf", ".txt" | 2 |
Propriedades da entidade de tabela
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| "RowCount" | inteiro | O número de linhas na tabela. | Sim | 3 | Não |
| NúmeroDeColunas | inteiro | O número de colunas na tabela. | Sim | 3 | Não |
| "Título" | cadeia | O título da tabela. | Não | 3 | Não |
| "Descrição" | cadeia | A descrição da tabela. | Não | 3 | Não |
Propriedades de contato da entidade
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| "Email" | cadeia | O endereço de email do contato. | Não | 3 | Somente entrada. |
| Nome Completo | inteiro | O nome completo do contato. | Não | 3 | Somente entrada. |
| "Título" | cadeia | O título do contato. | Não | 3 | Somente entrada. |
| "Descrição" | cadeia | A descrição do contato. | Não | 3 | Somente entrada. |
Cláusulas Where
O formato JSON de definição de ação dá suporte a cláusulas 'where' que podem ser usadas para implementar a lógica condicional, como especificar que uma ação deve ser invocada somente quando uma propriedade da entidade possuir um valor determinado.
Os operadores a seguir podem ser usados com as cláusulas where.
| Operador | Descrição |
|---|---|
| == | Igualdade |
| ~= | Igualdade que não diferencia maiúsculas e minúsculas |
| != | Desigualdade |
| < | Menor que |
| <= | Menor que ou igual a |
| > | Maior que |
| >= | Maior ou igual a |
| || | OR lógico |
| && | AND lógico |
Onde as cláusulas usam o seguinte formato:
"where": [
"${<property_accessor>} <operator> <value>"
]
O exemplo a seguir mostra uma cláusula where que é avaliada como true se uma entidade File tiver a extensão de arquivo".txt".
"where": [
"${File.Extension} ~= \".txt\""
]
Várias cláusulas em que podem ser combinadas usando os operadores OR lógicos e AND lógicos.
"where": [
"${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\""
]