Acessar, armazenar e recuperar arquivos no SharePoint Embedded com o Microsoft Graph
- 9 minutos
Neste exercício, você usará o Postman para acessar, armazenar e recuperar arquivos e documentos em um contêiner do SharePoint Embedded usando o cliente Postman.
Pré-requisitos
- O cliente de área de trabalho instalado pelo Postman entrou em uma conta gratuita ou paga do Postman.
- Acesso a uma conta de administrador em um locatário do Microsoft 365.
Importante
No momento, muitos dos pontos de extremidade do Microsoft Graph usados para criar, acessar e gerenciar recursos específicos do SharePoint Embedded existem apenas no ponto de extremidade beta do Microsoft Graph. No entanto, todos os pontos de extremidade que acessam os contêineres e o conteúdo dentro do contém estão no ponto de extremidade do Microsoft Graph v1.0.
Configure a pasta Delegada da coleção do Postman
A primeira etapa é configurar a pasta Delegated na coleção Postman que você criou anteriormente para obter um token de acesso app+user, também conhecido como token de acesso delegado , para que possamos fazer chamadas para o aplicativo.
No cliente Postman, selecione sua coleção do SharePoint Embedded, selecione a pasta Delegado e, em seguida, selecione a guia Autorização . Defina as seguintes configurações (ignore os campos não mencionados na lista a seguir):
- Tipo: OAuth 2.0
- Adicionar dados de autenticação a: Cabeçalhos de solicitação
-
Token atual:
- Token: Tokens disponíveis
- Prefixo do cabeçalho: Portador
-
Configurar Novo Token
- Nome do token: Aplicativo do Graph+Token de usuário
- Tipo de Concessão: código de autorização
-
URL de retorno de chamada:
https://oauth.pstmn.io/v1/browser-callback -
URL de Autenticação:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize -
URL do Token de Acesso:
https://login.microsoftonline.com/common/oauth2/v2.0/token -
ID do cliente:
{{ClientID}} -
Segredo do cliente:
{{ClientSecret}} -
Escopo:
FileStorageContainer.Selected offline_access
Selecione o botão Obter Novo Token de Acesso na parte inferior do formulário. Isso acionará uma janela pop-up contendo a página de entrada do Microsoft Entra ID. Entre usando a conta de administrador Corporativa e de Estudante para seu locatário do Microsoft 365 e, se solicitado a conceder consentimento para as permissões solicitadas, selecione Aceitar. Quando a janela pop-up fechar, o Postman terá recebido o token e o exibirá em um pop-up de confirmação. Selecione Usar Token para salvá-lo para solicitações futuras.
Observação
Ao adicionar o escopooffline_access, o Microsoft Entra ID responderá com um token de atualização para que o Postman possa não apenas armazenar o token de acesso localmente em sua estação de trabalho, mas também atualizar automaticamente o token se ele expirar na próxima vez que você usá-lo.
No painel Coleção, selecione a pasta Contêiner Delegado > e, em seguida, selecione a guia Autorização. Defina o Tipo como Herdar autenticação do pai.
Usar a API REST do Microsoft Graph para listar todos os contêineres
Agora que as pastas Delegada e Contêiner da coleção do Postman estão configuradas, adicione uma nova solicitação para obter uma lista de todos os Contêineres.
Crie uma nova solicitação selecionando o link Adicionar uma solicitação na pasta vazia do Contêiner Delegado > ou selecionando o botão ... > Adicione solicitação no menu de contexto ao passar o mouse sobre a pasta Contêiner Delegado > e defina os seguintes valores na nova solicitação:
- Nome: Listar Contêineres
- Método HTTP: GET
-
Ponto de extremidade HTTP:
https://graph.microsoft.com/beta/storage/fileStorage/containers?$filter=containerTypeId eq {{ContainerTypeId}}
Selecione Enviar para executar a solicitação. Você deve ver uma resposta válida de zero contêineres encontrados.
Usar a API REST do Microsoft Graph para criar um contêiner
Vamos criar nosso primeiro contêiner usando a API REST do Microsoft Graph.
Crie uma nova solicitação usando os seguintes valores:
Nome: Criar Contêiner
Método HTTP: POST
Ponto de extremidade HTTP:
https://graph.microsoft.com/beta/storage/fileStorage/containersCorpo: JSON bruto >
{ "displayName": "Sample App Container 1", "description": "First container description.", "containerTypeId": "{{ContainerTypeId}}" }
Execute a solicitação selecionando Enviar.
O Microsoft Graph responderá com um código HTTP 201 se for bem-sucedido com um resumo dos detalhes do novo contêiner:
Agora, se você executar novamente a solicitação Listar Contêineres , verá que agora está retornando o Contêiner que você criou.
Vamos armazenar a ID do Contêiner para uso futuro.
Selecione o valor da propriedade da id resposta, selecione-a com o botão direito do mouse e selecione a propriedade ContainerID do seu ambiente.
Use a API REST do Microsoft Graph para obter os detalhes de um contêiner específico
Em seguida, crie uma nova solicitação para obter um único contêiner usando a API REST do Microsoft Graph.
Voltar para sua coleção SharePoint Embedded, navegue de volta para a pasta Contêiner Delegado > e crie uma nova solicitação usando os seguintes valores:
Nome: Obter Contêiner
Método HTTP: GET
Ponto de extremidade HTTP:
https://graph.microsoft.com/beta/storage/fileStorage/containers/{{ContainerID}}?$select=id,displayName,containerTypeId,status,description,customProperties&$expand=permissions
Execute a solicitação selecionando Enviar. O Microsoft Graph responderá com os detalhes do contêiner.
Adicionar arquivos a um contêiner existente
Todos os Contêineres no SharePoint Embedded podem ser tratados como um objeto da Unidade do Microsoft Graph que será familiar para os desenvolvedores acostumados a trabalhar com os pontos de extremidade do OneDrive no Microsoft Graph. Isso significa que você pode usar todos os endpoints do Drive existentes e o código criado anteriormente para gerenciar o conteúdo em um objeto do Drive para gerenciar o conteúdo nos contêineres incorporados do SharePoint.
Acessar um contêiner como um objeto de unidade
Crie uma nova pasta Files na pasta Delegada da sua coleção do Postman.
Em seguida, crie uma nova solicitação na pasta Delegated > Files usando os seguintes valores:
- Nome: Obter Unidade
- Método HTTP: GET
-
Ponto de extremidade HTTP:
https://graph.microsoft.com/v1.0/drives/{{ContainerID}}
Repita o processo para obter uma lista de todos os arquivos, também conhecidos como DriveItems, no objeto Drive usando o items ponto de extremidade:
- Name: Get DriveItems
- Método HTTP: GET
-
Ponto de extremidade HTTP:
https://graph.microsoft.com/v1.0/drives/{{ContainedID}}/items/root/children
Execute a solicitação selecionando Enviar. O Microsoft Graph responderá com o conteúdo do Contêiner Incorporado do SharePoint:
Carregar um arquivo no Contêiner
Com nosso Contêiner criado e a capacidade de ver os arquivos dentro de um Contêiner usando os pontos de extremidade existentes do Microsoft Graph Drive e DriveItems, vamos adicionar um arquivo ao Contêiner.
Criar um documento do Microsoft Word. Neste exemplo, usaremos um documento como calendário editável para janeiro de 2024 criado a partir de um dos modelos incluídos do Microsoft Word. Neste exemplo, o arquivo é chamado Jan2024.docx.
Crie uma nova solicitação na pasta Delegated > Files usando os seguintes valores:
- Nome: Carregar um arquivo
- Método HTTP: PUT
-
Ponto de extremidade HTTP:
https://graph.microsoft.com/v1.0/drives/{{ContainerId}}/root:/Jan2024.docx:/content - Corpo:
- Tipo: binário
- Selecione o arquivo Microsoft Word (Jan2024.docx neste exemplo)
Observação
Atualize o ponto de extremidade para usar o nome do arquivo que você deseja criar em seu contêiner. Neste exemplo, estamos usando Jan2024.docx.
Selecione Enviar para carregar o arquivo:
Execute novamente a solicitação Get DriveItems para ver o arquivo no contêiner:
Resumo
Neste exercício, você usou o Postman para acessar, armazenar e recuperar arquivos e documentos em um Contêiner Incorporado do SharePoint usando o cliente Postman chamando as APIs REST do Microsoft Graph com um token de acesso de aplicativo+usuário.
Verifique seu conhecimento
Comentários
Esta página foi útil?
No
Precisa de ajuda com este tópico?
Quer experimentar o Pergunte e aprenda para esclarecer ou guiar você neste tópico?