Exercício - Carregar um arquivo na biblioteca de documentos do SharePoint

Concluído

É possível salvar um arquivo em uma biblioteca de documentos do SharePoint usando o Power Apps e um fluxo simples do Power Automate. Nesta unidade, aprendemos a fazer isso com um exercício prático. Essa técnica envolve o uso de um controle de anexo (de um controle de formulário) e um fluxo do Power Automate para enviar um arquivo a uma biblioteca de documentos do SharePoint.

Introdução

O que vamos fazer é usar o controle de anexos para carregar nosso arquivo no Power Apps. Em seguida, usamos um fluxo simples do Power Automate para extrair o nome e o conteúdo do arquivo e gravá-los no SharePoint. Por fim, passamos um link para o arquivo de volta para o Power Apps a fim de abrir o arquivo salvo no navegador.

Para começar essa técnica, determine primeiro uma biblioteca de documentos do SharePoint na qual você salvará o arquivo. Você também precisa de uma lista do SharePoint que podemos conectar temporariamente ao nosso aplicativo para adicionar uma opção de Editar formulário ao aplicativo. É preciso usar uma lista, para obter um controle de anexos. Uma biblioteca de documentos não tem a opção de adicionar anexos.

Vamos seguir estas etapas juntos.

Exercício

  1. Vá para o Power Apps Maker Portal e crie um novo aplicativo de Tela em branco.

  2. Adicione o SharePoint como uma fonte de dados. Selecione Conectar aos dados a partir da nova tela em branco ou do botão Adicionar dados.

  3. No pop-up Selecionar uma fonte de dados, localize e selecione o SharePoint.

    Observação

    Se você não está familiarizado com o SharePoint, consulte este módulo sobre como criar e usar seu site do SharePoint com o Power Apps. Introdução ao Power Apps e SharePoint.

  4. No painel Conectar a um site do SharePoint que aparece no lado direito da tela, selecione seu site do SharePoint ou insira a URL do site (para a página inicial do SharePoint) no campo de entrada da URL.

  5. No painel Escolher uma lista, selecione ambos: uma lista e uma biblioteca de documentos para usar no aplicativo; depois, selecione Conectar. Lembre-se: só usamos a lista para podermos usar o controle de formulários que inclui anexos; portanto, escolha uma pequena lista com colunas limitadas para obter os melhores resultados. Antes de seguirmos em frente, seu aplicativo deve agora mostrar dois itens na guia Dados, uma biblioteca de documentos do SharePoint e uma lista do SharePoint.

Adicionar os controles necessários

  1. Insira uma opção Editar formulário no aplicativo selecionando Inserir>Editar formulário.

  2. Para conectar o formulário à sua lista do SharePoint, consulte o painel Propriedades no lado direito da tela e selecione sua lista do SharePoint a partir do menu suspenso Fonte de dados.

  3. No controle Editar formulário, localize e selecione o controle Anexos. Você não precisa de todo o cartão de dados, apenas os Anexos se controlam. No modo de exibição Árvore, o controle Anexos tem um pequeno ícone de clipe de papel à esquerda do nome que começa com DataCardValue. Copie o controle Anexos.

  4. Agora cole o controle Anexos na tela da tela, fora do controle de formulário. Observe que seu aplicativo está apresentando erros. Isso ocorreu porque você colou uma cópia do controle fora do formulário onde ele foi integrado. Consertaremos isso momentaneamente.

  5. Selecione e exclua o controle Editar formulário do aplicativo, mas não o controle Anexo que você acabou de colar. Só adicionamos o controle Editar formulário para que pudéssemos copiar o controle Anexos e, portanto, não precisamos mais dele. Nesse ponto, você também pode remover a lista do SharePoint de suas fontes de dados. Você não precisa mais disso.

  6. Vamos corrigir os erros em nosso controle Anexos. Redimensione-o primeiro e coloque-o no canto superior direito da tela. Precisamos corrigir alguns erros dentro das propriedades de controle porque ainda está se comportando como se fosse parte de um controle de formulários. Depois de concluir as seguintes alterações de propriedade, o controle não terá erros:

    Items - exclua Parent.Default e deixe-o em branco

    BorderColor - exclua a entrada e mude para Color.Black (ou uma cor apropriada)

    Tooltip - exclua Parent.Default e deixe-o em branco

    DisplayMode - exclua Parent.Default e mude para DisplayMode.Edit.

  7. Altere o nome do seu controle Anexos para algo significativo como AttachmentControl. (Em nossas fórmulas abaixo, usamos o nome AttachmentControl.)

  8. Nesse ponto, você pode exibir a funcionalidade do controle de anexo. Coloque seu aplicativo no modo de Visualização e selecione a opção Anexar arquivo no Controle de Anexos. Você pode selecionar um arquivo ou imagem do computador e adicioná-lo aos anexos. Tire seu aplicativo do modo de visualização.

Criar o fluxo

  1. Agora que temos os controles de que precisamos, vamos criar um fluxo do Power Automate. Podemos fazer isso dentro do Power Apps selecionando o botão do Power Automate dentro do trilho de navegação do lado esquerdo para trazer o painel do Power Automate.

  2. No painel do Power Automate, selecione Criar novo fluxo.

  3. No pop-up Criar seu fluxo, selecione + Criar um fluxo.

  4. Sua tela Criar seu fluxo aparece mostrando um fluxo sem título com o Power Apps como o gatilho. Selecione a ação PowerApps (V2), em seguida, selecione + Adicionar uma entrada.

  5. Selecione Arquivo como o tipo de entrada. Isso é tudo de que você precisa para o gatilho.

  6. Selecione o ícone + Nova Etapa para adicionar outra etapa.

  7. Na caixa de diálogo Escolher uma operação, pesquise e selecione a operação do SharePoint Criar arquivo.

  8. Após inserir a ação Criar arquivo, você precisa preencher quatro entradas obrigatórias. Para Endereço do site, selecione o endereço do site no menu suspenso. Deve ser o mesmo site do SharePoint do qual você anexou a biblioteca de documentos ao aplicativo.

  9. Para Caminho da pasta, observe que o prompt permite que você saiba que deve começar com uma biblioteca existente. Um ícone de pasta é exibido no lado direito do campo. Você pode selecionar esse ícone e, em seguida, localizar e selecionar a pasta na qual deseja salvar o arquivo.

  10. Primeiro, inserimos File Content, pois o gatilho do Power Apps fornece isso como conteúdo dinâmico. Coloque o cursor no campo de entrada File Content. Em seguida, no conteúdo dinâmico, selecione File Content. Depois de inserir isso em File Content, se você passar o mouse sobre File Content, a seguinte fórmula será exibida:

    triggerBody()['file']['contentBytes']

  11. A seguir, criaremos o Nome do Arquivo. Fazemos isso inserindo Expressions. Coloque o cursor no campo Nome do arquivo e selecione a guia Expressão no pop-up de conteúdo dinâmico. Insira a seguinte fórmula no campo de entrada Fórmula de expressão:

    triggerBody()['file']['name']

  12. Selecione OK. Na etapa Criar arquivo, agora você deve ter valores para todas as quatro entradas, com a entrada Nome do Arquivo mostrando uma entrada fx com a fórmula para o nome do arquivo.

  13. Nesse ponto, o fluxo usa o conteúdo do arquivo do Power Apps (que inclui o nome do arquivo) e cria um arquivo na biblioteca de documentos designada do SharePoint. Para a última parte desse fluxo, vamos devolver o link para o nosso arquivo recém-criado ao Power Apps. Selecione +Nova etapa para adicionar outra ação.

  14. No campo de entrada Escolher uma operação, digite powerapps. Em seguida, selecione Responder a PowerApps ou fluxo.

  15. Na ação Responder a PowerApps ou fluxo, selecione + Adicionar uma saída.

  16. Selecione Texto.

  17. Onde diz Inserir um título, digite: FileLink

  18. Onde diz Inserir um valor para responder, vamos selecionar um texto combinado e conteúdo dinâmico. Primeiro, insira o endereço da home page do seu site do SharePoint. Ele deve corresponder ao endereço da etapa Criar arquivo no fluxo (começa com https e termina com o nome do seu site do SharePoint). Depois disso, selecione Caminho a partir do conteúdo dinâmico da etapa Criar arquivo.

  19. Renomeie seu fluxo para algo como SaveFileToSharePoint.

  20. Salve o fluxo e feche a janela do editor do Power Automate. O Power Apps salva o fluxo e lista-o na guia Power Automate para que possamos usá-lo em nosso aplicativo.

Concluir o aplicativo

  1. De volta à tela do aplicativo, selecione o controle Anexo.

  2. Vá para a propriedade OnAddFile.

  3. Para começar, digite o nome do fluxo na fórmula OnAddFile. Em seguida, adicione um ponto de extremidade e, depois, Executar, para que a fórmula seja algo como: saveFileToSharePoint.Run, mas observe que ainda precisamos adicionar mais à fórmula, então, você adiciona um parêntese aberto. Observe que o fluxo precisa de uma entrada como: {file:Record}.

  4. Adicione "{file:" à fórmula e outra chave e digite a fórmula para corresponder a esse padrão. Vamos definir os itens de registro como contentBytes e name, que o fluxo passará como um registro completo para o fluxo do Power Automate.

    SaveFileToSharePoint.Run({file:{contentBytes: Last(Self.Attachments).Value, name: Last(Self.Attachments).Name}})

    As maiúsculas e minúsculas desses elementos do OnAddFile são importantes e, conforme você digita, o Power Apps sugere automaticamente as opções corretas. A razão pela qual devemos usar a função Last é que Self.Attachments é uma tabela, e nosso fluxo deseja apenas um único registro. Também usamos Self, que se refere ao controle em si, em vez de precisarmos digitar o nome do controle.

  5. Vamos modificar a fórmula para incluir o 'FileLink' que retorna de nosso fluxo. Para isso, definimos uma variável antes de executar o fluxo e usaremos a saída “filelink” como dados variáveis. Faça o seguinte ajuste em sua fórmula:

    Set(varFileLink, SaveFileToSharePoint.Run({file:{contentBytes: Last(Self.Attachments).Value, name: Last(Self.Attachments).Name}}).filelink);

    Isso define o valor de varFileLink como a propriedade "filelink" que o fluxo retorna ao Power Apps.

  6. Adicione um controle de botão ao aplicativo e crie o texto "Exibir arquivo"

  7. Crie a propriedade OnSelect do novo botão: Launch(varFileLink). O novo botão nos leva a esse arquivo para que possamos exibi-lo no navegador.

Testar seu aplicativo

  1. Coloque seu aplicativo no modo Visualizar e anexe um arquivo ao seu controle de anexos. Você pode selecionar um no computador ou arrastar e soltar um arquivo no controle de anexos. Imediatamente, você deverá ver a ação começar.

  2. Selecione o botão Exibir arquivo. Uma das três coisas acontece. Se você carregou uma imagem, o arquivo de imagem é aberto em uma guia separada do navegador. Se você enviou um documento ou planilha, ele abre o arquivo em um aplicativo da área de trabalho ou navegador. Outros tipos de arquivo podem ser baixados para o navegador e dar a opção de abri-los.

Próximas etapas (opcional)

Parabéns! Você criou um aplicativo com a capacidade de carregar um arquivo em uma biblioteca de documentos do SharePoint pelo Power Apps. Não há mais nada que você precise fazer, mas é possível levar essa funcionalidade para o próximo nível com as seguintes etapas:

  1. Com os dados voltando do fluxo, você pode usar o link em qualquer outro lugar do aplicativo.

  2. Você pode inserir uma galeria no aplicativo com a propriedade Items apontando para sua biblioteca de documentos do SharePoint. Em seguida, você pode usar a Miniatura do item com o controle de imagem na galeria, com uma fórmula para a propriedade Image, por exemplo: ThisItem.Thumbnail.Small. O registro Miniatura é poderoso e vem nos tamanhos Grande, Médio e Pequeno. Ele mostra uma parte visualizável de praticamente qualquer arquivo.

  3. Você pode usar a propriedade do item LinkToItem para levá-lo a um item selecionado, semelhante ao botão "exibir arquivo". Selecione o controle da galeria e vá para a propriedade OnSelect. Launch(ThisItem.'Link to item') de Entrada.

  4. Coloque o aplicativo no modo de visualização e selecione um item da galeria para ver esse recurso funcionar.

Resumo

Usar o controle Anexo com um fluxo simples é uma maneira poderosa de salvar um arquivo em uma biblioteca de documentos do SharePoint do Power Apps. Você pode adicionar essa funcionalidade a qualquer parte do aplicativo onde deseja salvar um arquivo. A etapa do Power Automate que passa o arquivo contentBytes e o nome é tudo de que o Power Apps precisa para depositar seu arquivo em uma biblioteca de documentos do SharePoint.