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.
Aplica-se a: Programador
Adicione a UX de pré-visualização de ficheiros para que os utilizadores possam inspecionar os conteúdos do SharePoint Embedded sem transferir ficheiros ou abrir uma experiência de edição completa do Office.
Conclua Abrir ficheiros do Office a partir da sua aplicação quando precisar de editar o Office. Utilize este artigo para pré-visualizações leves.
Compreender o fluxo de pré-visualização
O fluxo de pré-visualização tem dois passos:
- Chame o ponto final de pré-visualização do DriveItem do Microsoft Graph.
- Utilize o URL devolvido numa iframe ou nova página do browser.
O ponto final do Graph é:
POST https://graph.microsoft.com/{version}/drives/{driveId}/items/{itemId}/preview
Onde:
-
{version}é a versão do Microsoft Graph, comov1.0. -
{driveId}é o ID de contentor que começa comb!. -
{itemId}é o ID do DriveItem.
Para obter a referência de API canónica, veja Pré-visualizar um DriveItem.
Conhecer tipos de ficheiro suportados
O Microsoft 365 suporta pré-visualizações para muitos tipos de ficheiros, incluindo formatos de documento, imagem, vídeo e PDF comuns.
Os exemplos incluem:
- Ficheiros PDF.
- FICHEIRO JPG e outros ficheiros de imagem.
- MP4 e outros ficheiros de multimédia suportados.
- Ficheiros do Office suportados por experiências de pré-visualização do Microsoft 365.
Para obter a lista atual, consulte Tipos de ficheiro suportados para pré-visualizar ficheiros no OneDrive, SharePoint e Teams.
Observação
O suporte de tipo de ficheiro pode variar consoante a capacidade do serviço, a política de inquilino e a experiência do cliente. Processe sempre as falhas de pré-visualização corretamente.
Visualização nativa de PDF
A experiência de visualização de PDF nativa do SharePoint Embedded suporta a pesquisa no ficheiro, a visualização de comentários e notas autocolantes incorporadas no ficheiro e a impressão (adicionada em março de 2026). Estas capacidades estão disponíveis através do driveItem: API de pré-visualização nos pontos finais beta e v1.0 do Microsoft Graph.
Melhorar o pré-visualizador de PDF com parâmetros de consulta
Melhore o pré-visualizador de PDF do SharePoint Embedded ao acrescentar parâmetros de consulta à propriedade do webUrl driveItem. Para obter webUrl, chame a API GET driveItem, por exemplo GET /drives/{drive-id}/items/{item-id}?$select=webUrl.
Transmita parâmetros como uma cadeia de consulta codificada embed em JSON. Pode incluir um ou mais parâmetros no mesmo objeto.
<webUrl>?&embed={"<param1>":<value>,"<param2>":<value>}
| Parâmetro | Effect |
|---|---|
mpp |
Ativa o ícone de impressão e a impressão Ctrl+P. Por exemplo, <webUrl>?&embed={"mpp":true}. |
mpsn |
Mostra conteúdos de notas autocolantes quando o PDF contém notas autocolantes. Por exemplo, <webUrl>?&embed={"mpsn":true}. |
Pré-requisitos
Antes de criar pré-visualizações, certifique-se de que:
- O ficheiro é armazenado num contentor do SharePoint Embedded.
- A sua aplicação conhece o ID do contentor e o ID do DriveItem.
- A sua aplicação pode adquirir um token do Microsoft Graph.
- O autor da chamada tem permissão para ler o ficheiro.
- O tipo de ficheiro é suportado para pré-visualização.
- A IU pode alojar um iframe ou abrir uma nova página.
Criar uma ligação de pré-visualização
Chame o ponto final de pré-visualização a partir da camada de serviço.
Utilize este padrão de SDK C#:
ItemPreviewInfo preview = await graphServiceClient.Drives[driveId].Items[itemId]
.Preview()
.Request()
.PostAsync();
A resposta inclui informações de URL de pré-visualização:
{
"getUrl": "https://www.onedrive.com/embed?foo=bar&bar=baz",
"postParameters": "param1=value¶m2=another%20value",
"postUrl": "https://www.onedrive.com/embed_by_post"
}
Utilize getUrl quando disponível.
Cuidado
getUrl atualmente contém um token encriptado que só pode ser utilizado com a sua aplicação. Este comportamento pode mudar.
Remover a faixa de pré-visualização
Adicione nb=true ao URL obtido para remover a faixa na parte superior.
Exemplo:
https://contoso.sharepoint.com/restOfUrl/embed.aspx?param1=value&nb=true
Utilize esta opção apenas quando se adequa à sua experiência de utilizador e aos requisitos de conformidade.
Incorporar a pré-visualização num iframe
Crie uma página de aplicação que aloje o URL de pré-visualização.
Forma de exemplo:
<!DOCTYPE html>
<html>
<body>
<h2>Preview</h2>
<p>Preview of {file name}:</p>
<iframe src="{preview URL}" height="200" width="300" id="preview" title="File preview"></iframe>
</body>
</html>
Em produção, forneça também:
Um título de iframe descritivo.
Dimensionamento reativo.
A carregar estados.
Estados de erro.
Uma transferência de contingência ou uma ação de abertura.
Carregar pré-visualizações dinamicamente
Não chame o Microsoft Graph diretamente a partir de um script do browser se isso criar problemas de CORS ou expor tokens.
Utilize um ponto final do lado do servidor que:
- Autentica o utilizador.
- Valida o acesso ao ficheiro pedido.
- Adquire um token do Graph.
- Chama o ponto final de pré-visualização do DriveItem.
- Devolve o URL de pré-visualização ao cliente.
Utilize este padrão do lado do servidor:
[HttpGet]
[AuthorizeForScopes(Scopes = new string[] { "Files.Read.All" })]
public async Task<ActionResult<string>> GetPreviewUrl(string driveId, string itemId)
{
return url + "&nb=true";
}
Em seguida, o cliente pode pedir o URL e definir a origem do iframe.
async function preview(driveId, itemId) {
const url = `/GetPreviewUrl?driveId=${driveId}&itemId=${itemId}`;
const response = await fetch(url, {
credentials: 'include',
}).then(response => response.text());
document.getElementById('preview').src = response + "&nb=true";
}
UX de pré-visualização de design
Uma boa experiência de pré-visualização deve:
- Mostrar o nome do ficheiro.
- Mostrar um indicador de carregamento.
- Reserve espaço suficiente para o iframe.
- Forneça uma ação aberta no Office para ficheiros do Office.
- Indique uma ação de transferência quando a pré-visualização não estiver disponível.
- Preservar a acessibilidade do teclado.
- Evite intercetar o foco dentro da moldura de pré-visualização.
- Explicar erros no idioma amigável do utilizador.
Processar erros de pré-visualização
| Falha | Processamento |
|---|---|
| Tipo de ficheiro não suportado | Em alternativa, mostre uma ação de transferência ou abertura. |
| Permissão em falta | Peça ao utilizador para pedir acesso ou iniciar sessão novamente. |
| URL Expirado | Peça um NOVO URL de pré-visualização. |
| Erro CORS | Mova a chamada do Graph para o ponto final do lado do servidor. |
| Arquivo excluído | Atualize a lista de ficheiros e remova as seleções obsoletas. |
| Erro de serviço | Repita uma vez e, em seguida, mostre uma contingência estável. |
Importante
Não coloque os URLs de pré-visualização em cache como identificadores duráveis. Armazene o ID do contentor e o ID do DriveItem e, em seguida, crie um NOVO URL de pré-visualização quando necessário.
Pedidos de pré-visualização seguros
Tratar a pré-visualização como uma operação de leitura em conteúdo protegido.
O seu serviço deve:
- Valide o contexto de utilizador ou serviço com sessão iniciada.
- Confirme se o autor da chamada consegue ler o conteúdo do contentor.
- Confirme que o item pedido pertence ao contentor esperado.
- Evite expor tokens do Graph ao browser.
- Evite registar URLs de pré-visualização que incluam tokens confidenciais.
- Expirar sessões de pré-visualização do lado da aplicação quando o utilizador terminar sessão.
Validar a experiência de pré-visualização
Teste com vários tipos de ficheiro e utilizadores:
- Carregue um ficheiro PDF.
- Carregar um ficheiro de imagem.
- Carregue um ficheiro do Office.
- Crie um URL de pré-visualização para cada ficheiro.
- Componcione cada pré-visualização num iframe.
- Testar um utilizador com acesso de leitura.
- Testar um utilizador sem acesso.
- Elimine um ficheiro e confirme se o erro foi processado.
- Atualize um URL de pré-visualização expirado.
- Confirme se a ação de contingência funciona.
Ligar à tarefa de compilação seguinte
Depois de a pré-visualização estar a funcionar, adicione experiências de deteção para que os utilizadores possam encontrar conteúdos em contentores e ficheiros.
Continue para Procurar contentores e ficheiros.